{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import json\n",
    "from itertools import izip, count\n",
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "from sklearn.linear_model import LogisticRegression, RidgeCV, LassoCV\n",
    "from scipy.stats import ks_2samp\n",
    "\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "from sklearn.preprocessing import Imputer\n",
    "\n",
    "from matplotlib import pyplot as plt\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df = pd.read_csv('data.csv', index_col='sample_id')\n",
    "flag = pd.read_csv('flag.csv', index_col='sample_id')\n",
    "y_T = float(flag.sum())\n",
    "n_T = float(flag.shape[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def plot_N_var(var, missing_impute=None, qs=None):\n",
    "    global df, flag, y_T, n_T\n",
    "    \n",
    "    if var not in df.columns:\n",
    "        raise Exception(\"The variable is not found in the data.\")\n",
    "    \n",
    "    fig, ax = plt.subplots(1,3)\n",
    "\n",
    "    y = flag.values[:, 0]    \n",
    "    if missing_impute is None:\n",
    "        x = pd.to_numeric(df[var], errors='coerce').values\n",
    "    else:\n",
    "        x = pd.to_numeric(df[var], errors='coerce').fillna(missing_impute).values\n",
    "\n",
    "    #Plot 1: distribution\n",
    "    sns.distplot(x[pd.notnull(x)], kde=False, ax=ax[0])\n",
    "    \n",
    "    #Plot 2: Factor plot\n",
    "    if qs is None:\n",
    "        quantiles = list(set([-np.inf] + \\\n",
    "                             list(np.percentile(x[pd.notnull(x)], [float(i) * 10.0 for i in range(10)])) + \\\n",
    "                             [np.inf]))\n",
    "        quantiles.sort()\n",
    "        #print quantiles\n",
    "    else:\n",
    "        quantiles = qs\n",
    "\n",
    "    #print quantiles\n",
    "    bins = pd.cut(x, quantiles, include_lowest=False)\n",
    "    \n",
    "    if missing_impute is None:\n",
    "        bins = bins.set_categories([\"missing\"] + list(bins.categories)).fillna('missing')\n",
    "\n",
    "    print bins.categories\n",
    "\n",
    "    tmp_df = pd.DataFrame({'bins': bins, 'flag': y})\n",
    "    sns.factorplot(x=\"bins\", y=\"flag\", data=tmp_df,\n",
    "                   kind=\"bar\", palette=\"muted\", ax=ax[1])\n",
    "    \n",
    "    #Plot 3: WOE\n",
    "    vi_table = pd.concat((tmp_df.groupby('bins').sum(),\n",
    "                      tmp_df.groupby('bins').count()),\n",
    "                     axis=1\n",
    "                    )\n",
    "    vi_table.columns=['response', 'total']\n",
    "    vi_table['woe'] = np.log(vi_table.response/vi_table.total/(y_T/n_T))\n",
    "    vi_table['vi'] = (vi_table.response / y_T - vi_table.total / n_T) * vi_table['woe']\n",
    "    vi_table['vi'][vi_table['vi']==np.inf] = 0\n",
    "    iv = vi_table.vi.sum()\n",
    "    print \"IV of\", var, \":\", iv \n",
    "    vi_table['bins'] = vi_table.index\n",
    "    sns.factorplot(x='bins', y='woe', data=vi_table,\n",
    "                   kind=\"bar\", palette=\"muted\", ax=ax[2])\n",
    "    \n",
    "    woe_mapper = {}\n",
    "    for val, w in zip(vi_table.bins.values, vi_table.woe.values):\n",
    "        woe_mapper[val] = w\n",
    "    \n",
    "    #plt.show()\n",
    "    return quantiles, iv, woe_mapper, fig"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "iv_dict = {}\n",
    "qs_dict = {}\n",
    "for var in df.columns:\n",
    "    #if os.path.exists('fig/{0}.png'.format(var)) is True:\n",
    "    #    continue\n",
    "    #    \n",
    "    qs, iv, _, f = plot_N_var(var)\n",
    "    iv_dict[var] = iv\n",
    "    qs_dict[var] = qs\n",
    "    f.savefig('fig/{0}.png'.format(var), type='png')\n",
    "    plt.close(\"all\")\n",
    "\n",
    "with open('qs.json', 'w') as fp:\n",
    "    json.dump(qs_dict, fp)\n",
    "\n",
    "with open('iv.json', 'w') as fp:\n",
    "    json.dump(iv_dict, fp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "len([col for col in iv_dict if iv_dict[col] > 0.005])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "with open('iv.json') as fp:\n",
    "    iv_dict = json.load(fp)\n",
    "    \n",
    "include = {}\n",
    "for col in iv_dict:\n",
    "    if iv_dict[col] > 0.005:\n",
    "        include[col] = 1\n",
    "    else:\n",
    "        include[col] = 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "for col in iv_dict:\n",
    "    if 'query' in col:\n",
    "        include[col] = 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(u'all_6_amt_g23', inf),\n",
       " (u'pc_payment_amt', inf),\n",
       " (u'earlyst_djk_open_date', inf),\n",
       " (u'tcr_asset_mon_chg_amt', inf),\n",
       " (u'is_turst_active_flag', inf),\n",
       " (u'xx_lufax_bal_g22', inf),\n",
       " (u'auto_annual_payment_amt', inf),\n",
       " (u'pc_annual_payment_amt', inf),\n",
       " (u'pc_eff_payment_amt', inf),\n",
       " (u'consume_pol_loan_act_bal', inf),\n",
       " (u'card_lately_year_amt', inf),\n",
       " (u'cust_all_income', inf),\n",
       " (u'lishi_xyk_sp_cnt_6m', 0.2629051928713457),\n",
       " (u'l3m_org_numb_g26', 0.2281765745344339),\n",
       " (u'djk_6month_avg_use_percent', 0.09452300761946747),\n",
       " (u'mob_card_g26', 0.06149286897957576),\n",
       " (u'mob_loan_g26', 0.04052978017109607),\n",
       " (u'6month_limit_usage_g26', 0.03508051353343226),\n",
       " (u'life_eff_payment_amt', 0.03324281618052183),\n",
       " (u'life_payment_amt', 0.029818978609775684),\n",
       " (u'elis_payment_amt', 0.029560236053383163),\n",
       " (u'sum_total_bal_g22', 0.02915044345322927),\n",
       " (u'car_price_g21', 0.025848952338225213),\n",
       " (u'annual_payment_amt', 0.024269807758852253),\n",
       " (u'insure_amt_sum', 0.02342391277741792),\n",
       " (u'loss_rate_g25', 0.022288296874793452),\n",
       " (u'aum_sum', 0.02200509499616736),\n",
       " (u'pnc_prem', 0.02186630174930914),\n",
       " (u'auto_payment_amt', 0.02133220031365999),\n",
       " (u'month6_avg_yinghuankuan_perc1', 0.020717202175168238),\n",
       " (u'pnc_level', 0.019835781002343723),\n",
       " (u'pnc_carvalue', 0.01883924027929117),\n",
       " (u'state_g11', 0.018541547277443244),\n",
       " (u'elis_annual_payment_amt', 0.018248140958125245),\n",
       " (u'elis_level', 0.017909967885007205),\n",
       " (u'telno_time_type_g34', 0.017463516193155507),\n",
       " (u'last_quar_loan_ave_bal', 0.014939463975419997),\n",
       " (u'elis_wn_prem', 0.014209933986569057),\n",
       " (u'vehicle_quantity', 0.013690625116030471),\n",
       " (u'all_overdue_flag_g26', 0.010000470005467055),\n",
       " (u'p_insure_no_b_act_payment_amt', 0.009376254386257499),\n",
       " (u'cust_housing_price', 0.009212310026546317),\n",
       " (u'last_quar_deposit_ave_bal', 0.007720223253792143),\n",
       " (u'last_mon_deposit_ave_bal', 0.0074432578815728425),\n",
       " (u'lum_sum', 0.00674179676505793),\n",
       " (u'max_cdt_amt_g24', 0.006430807315663494),\n",
       " (u'card_lately_threeemon_ar', 0.005917654699343635),\n",
       " (u'monthly_ave_mange_fund_amt', 0.0056869550504635895),\n",
       " (u'elis_year_prem', 0.0050385652927431275)]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res = [(col, iv_dict[col]) for col in include if include[col]==1]\n",
    "res.sort(key=lambda x: -x[1])\n",
    "res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "with open('qs.json') as fp:\n",
    "    qs_dict = json.load(fp)\n",
    "\n",
    "imputer = {}\n",
    "\n",
    "qs_dict['l3m_org_numb_g26'] = [-np.inf, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, np.inf]\n",
    "\n",
    "imputer['djk_6month_avg_use_percent'] = None\n",
    "\n",
    "qs_dict['all_6_amt_g23'] = [-np.inf, 0.0, 261.0, 2508.0, 7314.5999999999767, np.inf]\n",
    "\n",
    "imputer['xx_lufax_bal_g22'] = None\n",
    "qs_dict['xx_lufax_bal_g22'] = [-np.inf, 40000, 80000, np.inf]\n",
    "\n",
    "imputer['mob_loan_g26'] = None\n",
    "qs_dict['mob_loan_g26'] = [-np.inf, 12, 18, 24, 30, 36, np.inf]\n",
    "\n",
    "imputer['mob_card_g26'] = None\n",
    "qs_dict['mob_card_g26'] = [-np.inf, 12, 24, 36, 48, 60, 84, 96, 108, 120, np.inf]\n",
    "\n",
    "imputer['earlyst_djk_open_date'] = 291.0\n",
    "qs_dict['earlyst_djk_open_date'] = [-np.inf, 94.0, 396.0, 551.0, 791.0, 1251.0, np.inf]\n",
    "\n",
    "imputer['6month_limit_usage_g26'] = None\n",
    "qs_dict['6month_limit_usage_g26'] = [-np.inf, 0.36564098017821423, 0.60140732265446228, 0.75329075807613932, \n",
    "                                     0.85752304761904774, 0.93067901234567907, 0.9758, np.inf]\n",
    "\n",
    "qs_dict['life_eff_payment_amt'] = [-np.inf, 10001, 14930.174, 27585.522, 32647.4539, 49625.72, np.inf]\n",
    "\n",
    "imputer['sum_total_bal_g22'] = None\n",
    "qs_dict['sum_total_bal_g22'] = [-np.inf, np.inf]\n",
    "\n",
    "imputer['insure_amt_sum'] = None\n",
    "\n",
    "imputer['loss_rate_g25'] = 0\n",
    "qs_dict['loss_rate_g25'] = [-np.inf, 0, np.inf]\n",
    "\n",
    "imputer['aum_sum'] = None\n",
    "qs_dict['aum_sum'] = [-np.inf, 10492.445, 21291, 42000, np.inf]\n",
    "\n",
    "qs_dict['vehicle_quantity'] = [-np.inf, 0, 1, np.inf]\n",
    "\n",
    "qs_dict['cust_housing_price'] = [-np.inf, 5833, np.inf]\n",
    "\n",
    "for var in ['is_turst_active_flag', 'tcr_asset_mon_chg_amt', 'consume_pol_loan_act_bal', 'card_lately_year_amt',\n",
    "            'telno_time_type_g34', 'last_quar_loan_ave_bal',\n",
    "            'annual_payment_amt', 'pc_payment_amt', 'pc_annual_payment_amt', 'p_insure_no_b_act_payment_amt', 'pc_eff_payment_amt', \n",
    "            'auto_annual_payment_amt', 'life_payment_amt',\n",
    "            'elis_payment_amt', 'elis_year_prem', 'elis_level', 'elis_wn_prem', 'elis_annual_payment_amt',  'elis_year_prem',\n",
    "            'car_price_g21', 'pnc_prem', 'pnc_level','pnc_carvalue', \n",
    "            'auto_payment_amt',\n",
    "            'month6_avg_yinghuankuan_perc1',\n",
    "            'state_g11', 'cust_all_income', 'last_quar_deposit_ave_bal',\n",
    "            'lum_sum', 'last_mon_deposit_ave_bal', \n",
    "            'card_lately_threeemon_ar', 'monthly_ave_mange_fund_amt']:\n",
    "    include[var] = 0\n",
    "\n",
    "include['all_overdue_flag_g26'] = 0\n",
    "\n",
    "\n",
    "include['month_black_listed'] = 1\n",
    "imputer['month_black_listed'] = None\n",
    "qs_dict['month_black_listed'] = [-np.inf, 3, 6, 12, np.inf]\n",
    "\n",
    "include['risk_score'] = 1\n",
    "imputer['risk_score'] = None\n",
    "qs_dict['risk_score'] = [-np.inf, 2, np.inf]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "blacklist = pd.read_csv('cy_credoox_blacklist.txt', index_col='cy_credoox_blacklist.sample_id', sep='\\t')\n",
    "blacklist.columns = [var.split('.')[1] for var in blacklist.columns]\n",
    "blacklist = blacklist[blacklist.source_id=='A']\n",
    "blacklist_var1 = blacklist.groupby(by=blacklist.index,\n",
    "                                   sort=False)['month_black_listed'].min()\n",
    "\n",
    "df = pd.read_csv('data.csv', index_col='sample_id')\n",
    "\n",
    "df = pd.merge(df, pd.DataFrame(blacklist_var1), how='left', left_index=True, right_index=True)\n",
    "blacklist_var2 = blacklist.groupby(by=blacklist.index,\n",
    "                                   sort=False)['risk_score'].max().apply(lambda x: int(x)/10)\n",
    "df = pd.merge(df, pd.DataFrame(blacklist_var2), how='left', left_index=True, right_index=True)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Index([u'(-inf, 0]', u'(0, 1]', u'(1, 2]', u'(2, 3]', u'(3, 4]', u'(4, 5]',\n",
      "       u'(5, inf]'],\n",
      "      dtype='object')\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda2\\lib\\site-packages\\ipykernel\\__main__.py:46: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "IV of l3m_org_numb_g26 : 0.231433732076\n",
      "Index([u'(-inf, 0]', u'(0, 1]', u'(1, 2]', u'(2, 3]', u'(3, 4]', u'(4, 6]',\n",
      "       u'(6, inf]'],\n",
      "      dtype='object')\n",
      "IV of lishi_xyk_sp_cnt_6m : 0.262905192871\n",
      "Index([u'(-inf, 94]', u'(94, 396]', u'(396, 551]', u'(551, 791]',\n",
      "       u'(791, 1251]', u'(1251, inf]'],\n",
      "      dtype='object')\n",
      "IV of earlyst_djk_open_date : 0.0449506899869\n",
      "Index([u'missing', u'(-inf, 0]', u'(0, 0.0738]', u'(0.0738, 0.237]',\n",
      "       u'(0.237, 0.36]', u'(0.36, 0.469]', u'(0.469, 0.573]', u'(0.573, 0.68]',\n",
      "       u'(0.68, 0.795]', u'(0.795, 0.927]', u'(0.927, inf]'],\n",
      "      dtype='object')\n",
      "IV of djk_6month_avg_use_percent : 0.0968597184486\n",
      "Index([u'(-inf, 0]', u'(0, inf]'], dtype='object')\n",
      "IV of loss_rate_g25 : 0.0222881780942\n",
      "Index([u'(-inf, -1]', u'(-1, 0]', u'(0, 3000]', u'(3000, 6000]',\n",
      "       u'(6000, 10000]', u'(10000, 15000]', u'(15000, 25000]',\n",
      "       u'(25000, 43000]', u'(43000, 83000]', u'(83000, inf]'],\n",
      "      dtype='object')\n",
      "IV of max_cdt_amt_g24 : 0.00643080731566\n",
      "Index([u'missing', u'(-inf, 10492.445]', u'(10492.445, 21291]',\n",
      "       u'(21291, 42000]', u'(42000, inf]'],\n",
      "      dtype='object')\n",
      "IV of aum_sum : 0.0250032695905\n",
      "Index([u'missing', u'(-inf, 12]', u'(12, 24]', u'(24, 36]', u'(36, 48]',\n",
      "       u'(48, 60]', u'(60, 84]', u'(84, 96]', u'(96, 108]', u'(108, 120]',\n",
      "       u'(120, inf]'],\n",
      "      dtype='object')\n",
      "IV of mob_card_g26 : 0.0620557852696\n",
      "Index([u'missing', u'(-inf, 40000]', u'(40000, 80000]', u'(80000, inf]'], dtype='object')\n",
      "IV of xx_lufax_bal_g22 : 0.0281445982327\n",
      "Index([u'missing', u'(-inf, 0.366]', u'(0.366, 0.601]', u'(0.601, 0.753]',\n",
      "       u'(0.753, 0.858]', u'(0.858, 0.931]', u'(0.931, 0.976]',\n",
      "       u'(0.976, inf]'],\n",
      "      dtype='object')\n",
      "IV of 6month_limit_usage_g26 : 0.0412768000089\n",
      "Index([u'missing', u'(-inf, inf]'], dtype='object')\n",
      "IV of sum_total_bal_g22 : 0.0283647361952\n",
      "Index([u'missing', u'(-inf, 12]', u'(12, 18]', u'(18, 24]', u'(24, 30]',\n",
      "       u'(30, 36]', u'(36, inf]'],\n",
      "      dtype='object')\n",
      "IV of mob_loan_g26 : 0.0426216683146\n",
      "Index([u'(-inf, 0]', u'(0, 261]', u'(261, 2508]', u'(2508, 7314.6]',\n",
      "       u'(7314.6, inf]'],\n",
      "      dtype='object')\n",
      "IV of all_6_amt_g23 : 0.00346466964955\n",
      "Index([u'missing', u'(-inf, 0]', u'(0, 7657.498]', u'(7657.498, 24164.438]',\n",
      "       u'(24164.438, inf]'],\n",
      "      dtype='object')\n",
      "IV of insure_amt_sum : 0.0266855250505\n",
      "Index([u'(-inf, 5833]', u'(5833, inf]'], dtype='object')\n",
      "IV of cust_housing_price : 0.00838917692954\n",
      "Index([u'(-inf, 10001]', u'(10001, 14930.174]', u'(14930.174, 27585.522]',\n",
      "       u'(27585.522, 32647.454]', u'(32647.454, 49625.72]',\n",
      "       u'(49625.72, inf]'],\n",
      "      dtype='object')\n",
      "IV of life_eff_payment_amt : 0.0334040958545\n",
      "Index([u'(-inf, 0]', u'(0, 1]', u'(1, inf]'], dtype='object')\n",
      "IV of vehicle_quantity : 0.013690625116\n",
      "Index([u'missing', u'(-inf, 3]', u'(3, 6]', u'(6, 12]', u'(12, inf]'], dtype='object')\n",
      "IV of month_black_listed : 0.042001051283\n",
      "Index([u'missing', u'(-inf, 2]', u'(2, inf]'], dtype='object')\n",
      "IV of risk_score : 0.0393292832031\n"
     ]
    }
   ],
   "source": [
    "final_iv = {}\n",
    "final_qs = {}\n",
    "woe_mapper = {}\n",
    "for var in df.columns:\n",
    "    if include[var] == 0:\n",
    "        continue\n",
    "        \n",
    "    if var in qs_dict:\n",
    "        qs = qs_dict[var]\n",
    "    else:\n",
    "        qs = None\n",
    "\n",
    "    if var in imputer:\n",
    "        im = imputer[var]\n",
    "    else:\n",
    "        im = 0\n",
    "        \n",
    "    qs, iv, w, f = plot_N_var(var, missing_impute=im, qs=qs)\n",
    "    final_iv[var] = iv\n",
    "    final_qs[var] = qs\n",
    "    woe_mapper[var] = w\n",
    "    f.savefig('final/{0}.png'.format(var), type='png')\n",
    "    plt.close(\"all\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "with open('final_qs.json', 'w') as fp:\n",
    "    json.dump(final_qs, fp)\n",
    "\n",
    "with open('include.json', 'w') as fp:\n",
    "    json.dump(include, fp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "data = pd.DataFrame(index=df.index)\n",
    "K_woe = 0\n",
    "for var in woe_mapper:\n",
    "    if var not in imputer:\n",
    "        im = 0\n",
    "    else:\n",
    "        im = imputer[var]\n",
    "\n",
    "    if im is None:\n",
    "        x = pd.to_numeric(df[var], errors='coerce').values\n",
    "    else:\n",
    "        x = pd.to_numeric(df[var], errors='coerce').fillna(im).values\n",
    "\n",
    "    qs = final_qs[var]\n",
    "    if qs is None:\n",
    "        quantiles = list(set([-np.inf] + \\\n",
    "                             list(np.percentile(x[pd.notnull(x)], [float(i) * 10.0 for i in range(10)])) + \\\n",
    "                             [np.inf]))\n",
    "        quantiles.sort()\n",
    "        #print quantiles\n",
    "    else:\n",
    "        quantiles = qs\n",
    "\n",
    "    bins = pd.cut(x, quantiles, include_lowest=False)\n",
    "    \n",
    "    if im is None:\n",
    "        bins = bins.set_categories([\"missing\"] + list(bins.categories)).fillna('missing')\n",
    "\n",
    "    data[\"woe#{}\".format(var)] = bins.rename_categories([woe_mapper[var][x] for x in bins.categories])\n",
    "    K_woe += 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>l3m_org_numb_g26</th>\n",
       "      <th>lishi_xyk_sp_cnt_6m</th>\n",
       "      <th>earlyst_djk_open_date</th>\n",
       "      <th>month6_avg_yinghuankuan_perc1</th>\n",
       "      <th>djk_6month_avg_use_percent</th>\n",
       "      <th>is_bank_active_flag</th>\n",
       "      <th>is_finan_active_flag</th>\n",
       "      <th>is_bankloan_active_flag</th>\n",
       "      <th>is_turst_active_flag</th>\n",
       "      <th>is_bankdep_active_flag</th>\n",
       "      <th>...</th>\n",
       "      <th>woe#loss_rate_g25</th>\n",
       "      <th>woe#xx_lufax_bal_g22</th>\n",
       "      <th>woe#vehicle_quantity</th>\n",
       "      <th>woe#mob_card_g26</th>\n",
       "      <th>woe#6month_limit_usage_g26</th>\n",
       "      <th>woe#mob_loan_g26</th>\n",
       "      <th>woe#earlyst_djk_open_date</th>\n",
       "      <th>woe#sum_total_bal_g22</th>\n",
       "      <th>woe#djk_6month_avg_use_percent</th>\n",
       "      <th>woe#insure_amt_sum</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sample_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4b948fea-8853-48d8-93f8-972e9b940b20</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>287.0</td>\n",
       "      <td>0.008011628693124197</td>\n",
       "      <td>0.7999448818897638</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0.095187</td>\n",
       "      <td>-0.082051</td>\n",
       "      <td>0.065249</td>\n",
       "      <td>-0.125126</td>\n",
       "      <td>0.049390</td>\n",
       "      <td>0.006499</td>\n",
       "      <td>0.087831</td>\n",
       "      <td>0.177357</td>\n",
       "      <td>0.235890</td>\n",
       "      <td>-0.447209</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3da426c5-452e-49f7-8f02-5a448c848d79</th>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0.095187</td>\n",
       "      <td>0.385134</td>\n",
       "      <td>0.065249</td>\n",
       "      <td>0.489906</td>\n",
       "      <td>0.049390</td>\n",
       "      <td>-0.166158</td>\n",
       "      <td>0.219206</td>\n",
       "      <td>-0.160309</td>\n",
       "      <td>-0.062227</td>\n",
       "      <td>0.124290</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8ecd788b-896c-4b12-b16a-2ede7969b9d1</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>225.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.8540248226950354</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0.095187</td>\n",
       "      <td>-0.082051</td>\n",
       "      <td>0.065249</td>\n",
       "      <td>-0.200144</td>\n",
       "      <td>0.049390</td>\n",
       "      <td>-0.166158</td>\n",
       "      <td>0.087831</td>\n",
       "      <td>-0.160309</td>\n",
       "      <td>0.235890</td>\n",
       "      <td>0.124290</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1d819eb0-d590-4906-901d-626e51265518</th>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-150.0</td>\n",
       "      <td>0.03260869565217391</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0.095187</td>\n",
       "      <td>-0.082051</td>\n",
       "      <td>0.065249</td>\n",
       "      <td>0.489906</td>\n",
       "      <td>-0.638532</td>\n",
       "      <td>-0.166158</td>\n",
       "      <td>0.219206</td>\n",
       "      <td>-0.160309</td>\n",
       "      <td>-0.062227</td>\n",
       "      <td>-0.008549</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cbfac0bd-3d96-4089-a142-7fe37f22affc</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>197.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.9976666666666668</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0.095187</td>\n",
       "      <td>-0.082051</td>\n",
       "      <td>0.065249</td>\n",
       "      <td>-0.056479</td>\n",
       "      <td>0.049390</td>\n",
       "      <td>-0.166158</td>\n",
       "      <td>0.087831</td>\n",
       "      <td>-0.160309</td>\n",
       "      <td>0.435661</td>\n",
       "      <td>0.124290</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 93 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                      l3m_org_numb_g26  lishi_xyk_sp_cnt_6m  \\\n",
       "sample_id                                                                     \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20               1.0                  4.0   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79               NaN                  5.0   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1               NaN                  2.0   \n",
       "1d819eb0-d590-4906-901d-626e51265518               1.0                  NaN   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc               NaN                  NaN   \n",
       "\n",
       "                                      earlyst_djk_open_date  \\\n",
       "sample_id                                                     \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20                  287.0   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79                   34.0   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1                  225.0   \n",
       "1d819eb0-d590-4906-901d-626e51265518                 -150.0   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc                  197.0   \n",
       "\n",
       "                                     month6_avg_yinghuankuan_perc1  \\\n",
       "sample_id                                                            \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20          0.008011628693124197   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79                           NaN   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1                           NaN   \n",
       "1d819eb0-d590-4906-901d-626e51265518           0.03260869565217391   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc                           NaN   \n",
       "\n",
       "                                     djk_6month_avg_use_percent  \\\n",
       "sample_id                                                         \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20         0.7999448818897638   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79                        0.0   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1         0.8540248226950354   \n",
       "1d819eb0-d590-4906-901d-626e51265518                        0.0   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc         0.9976666666666668   \n",
       "\n",
       "                                      is_bank_active_flag  \\\n",
       "sample_id                                                   \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20                  NaN   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79                  NaN   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1                  NaN   \n",
       "1d819eb0-d590-4906-901d-626e51265518                  NaN   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc                  NaN   \n",
       "\n",
       "                                      is_finan_active_flag  \\\n",
       "sample_id                                                    \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20                   NaN   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79                   NaN   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1                   NaN   \n",
       "1d819eb0-d590-4906-901d-626e51265518                   NaN   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc                   NaN   \n",
       "\n",
       "                                      is_bankloan_active_flag  \\\n",
       "sample_id                                                       \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20                      NaN   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79                      NaN   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1                      NaN   \n",
       "1d819eb0-d590-4906-901d-626e51265518                      NaN   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc                      NaN   \n",
       "\n",
       "                                      is_turst_active_flag  \\\n",
       "sample_id                                                    \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20                   NaN   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79                   NaN   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1                   NaN   \n",
       "1d819eb0-d590-4906-901d-626e51265518                   NaN   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc                   NaN   \n",
       "\n",
       "                                      is_bankdep_active_flag  \\\n",
       "sample_id                                                      \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20                     NaN   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79                     NaN   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1                     NaN   \n",
       "1d819eb0-d590-4906-901d-626e51265518                     NaN   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc                     NaN   \n",
       "\n",
       "                                             ...          woe#loss_rate_g25  \\\n",
       "sample_id                                    ...                              \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20         ...                   0.095187   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79         ...                   0.095187   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1         ...                   0.095187   \n",
       "1d819eb0-d590-4906-901d-626e51265518         ...                   0.095187   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc         ...                   0.095187   \n",
       "\n",
       "                                      woe#xx_lufax_bal_g22  \\\n",
       "sample_id                                                    \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20             -0.082051   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79              0.385134   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1             -0.082051   \n",
       "1d819eb0-d590-4906-901d-626e51265518             -0.082051   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc             -0.082051   \n",
       "\n",
       "                                      woe#vehicle_quantity  woe#mob_card_g26  \\\n",
       "sample_id                                                                      \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20              0.065249         -0.125126   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79              0.065249          0.489906   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1              0.065249         -0.200144   \n",
       "1d819eb0-d590-4906-901d-626e51265518              0.065249          0.489906   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc              0.065249         -0.056479   \n",
       "\n",
       "                                      woe#6month_limit_usage_g26  \\\n",
       "sample_id                                                          \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20                    0.049390   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79                    0.049390   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1                    0.049390   \n",
       "1d819eb0-d590-4906-901d-626e51265518                   -0.638532   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc                    0.049390   \n",
       "\n",
       "                                      woe#mob_loan_g26  \\\n",
       "sample_id                                                \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20          0.006499   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79         -0.166158   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1         -0.166158   \n",
       "1d819eb0-d590-4906-901d-626e51265518         -0.166158   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc         -0.166158   \n",
       "\n",
       "                                      woe#earlyst_djk_open_date  \\\n",
       "sample_id                                                         \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20                   0.087831   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79                   0.219206   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1                   0.087831   \n",
       "1d819eb0-d590-4906-901d-626e51265518                   0.219206   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc                   0.087831   \n",
       "\n",
       "                                      woe#sum_total_bal_g22  \\\n",
       "sample_id                                                     \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20               0.177357   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79              -0.160309   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1              -0.160309   \n",
       "1d819eb0-d590-4906-901d-626e51265518              -0.160309   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc              -0.160309   \n",
       "\n",
       "                                      woe#djk_6month_avg_use_percent  \\\n",
       "sample_id                                                              \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20                        0.235890   \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79                       -0.062227   \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1                        0.235890   \n",
       "1d819eb0-d590-4906-901d-626e51265518                       -0.062227   \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc                        0.435661   \n",
       "\n",
       "                                      woe#insure_amt_sum  \n",
       "sample_id                                                 \n",
       "4b948fea-8853-48d8-93f8-972e9b940b20           -0.447209  \n",
       "3da426c5-452e-49f7-8f02-5a448c848d79            0.124290  \n",
       "8ecd788b-896c-4b12-b16a-2ede7969b9d1            0.124290  \n",
       "1d819eb0-d590-4906-901d-626e51265518           -0.008549  \n",
       "cbfac0bd-3d96-4089-a142-7fe37f22affc            0.124290  \n",
       "\n",
       "[5 rows x 93 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "final = pd.concat((df, data), axis=1)\n",
    "final.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "final['flag'] = flag.values\n",
    "final = final.sample(frac=1.0)\n",
    "N = final.shape[0]\n",
    "train = final.iloc[:N*2/3, :]\n",
    "test = final.iloc[N*2/3:, :]\n",
    "\n",
    "train_y = train.flag.values\n",
    "train_X = train\n",
    "del train_X['flag']\n",
    "\n",
    "test_y = test.flag.values\n",
    "test_X = test\n",
    "del test_X['flag']\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((397076, 93), (30192, 19), (397076L,), (198539, 93), (198539, 19), (198539L,))"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_lr = train_X.iloc[:, -K_woe:]\n",
    "test_lr = test_X.iloc[:, -K_woe:]\n",
    "\n",
    "train_lr['flag'] = train_y\n",
    "\n",
    "black = train_lr[train_lr.flag==1]\n",
    "white = train_lr[train_lr.flag==0]\n",
    "white = white.sample(n=black.shape[0])\n",
    "train_lr = pd.concat((black, white)).sample(frac=1.0)\n",
    "y_lr = train_lr['flag']\n",
    "del train_lr['flag']\n",
    "\n",
    "\n",
    "train_X.shape, train_lr.shape, train_y.shape, test_X.shape, test_lr.shape, test_y.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.68259426,  0.31740574],\n",
       "       [ 0.72363431,  0.27636569],\n",
       "       [ 0.67889958,  0.32110042],\n",
       "       ..., \n",
       "       [ 0.79191091,  0.20808909],\n",
       "       [ 0.41776655,  0.58223345],\n",
       "       [ 0.37905788,  0.62094212]])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clf = LogisticRegression()\n",
    "clf.fit(train_lr, y_lr)\n",
    "test_p = clf.predict_proba(test_lr)\n",
    "test_p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x3456bdd8>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x16d55438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(test_p[test_y==0, 0], color='blue')\n",
    "sns.distplot(test_p[test_y==1, 0], color='red')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ks_2sampResult(statistic=0.35510149009196795, pvalue=0.0)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ks_2samp(test_p[test_y==0, 0], test_p[test_y==1, 0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "intercept at: 0.0241439756811\n",
      "woe#max_cdt_amt_g24 -1.06539440558\n",
      "    (43000, 83000] 2.30610697575\n",
      "    (-1, 0] 2.46033597315\n",
      "    (-inf, -1] 27.1825326418\n",
      "    (10000, 15000] 1.4879979772\n",
      "    (25000, 43000] 6.79470218479\n",
      "    (0, 3000] -15.7695120043\n",
      "    (15000, 25000] 5.87492028479\n",
      "    (3000, 6000] -5.46501541503\n",
      "    (6000, 10000] 1.72254627814\n",
      "    (83000, inf] -8.70500343314\n",
      "woe#month_black_listed -0.62467819467\n",
      "    (3, 6] -22.9654857664\n",
      "    (-inf, 3] -42.0543851291\n",
      "    (12, inf] 0.549125074413\n",
      "    (6, 12] -16.0280204268\n",
      "    missing 2.94076903029\n",
      "woe#all_6_amt_g23 -0.498607086209\n",
      "    (261, 2508] 4.24924657499\n",
      "    (-inf, 0] -1.17507860449\n",
      "    (7314.6, inf] 1.31818101716\n",
      "    (0, 261] 10.389166421\n",
      "    (2508, 7314.6] 1.5555583522\n",
      "woe#aum_sum 0.088587982981\n",
      "    (10492.445, 21291] -1.63671620175\n",
      "    (42000, inf] -2.65546864416\n",
      "    (-inf, 10492.445] -0.138069098862\n",
      "    (21291, 42000] -2.35892797094\n",
      "    missing 0.794245653402\n",
      "woe#life_eff_payment_amt -0.442759325151\n",
      "    (14930.174, 27585.522] 7.67196832044\n",
      "    (10001, 14930.174] 3.05697880088\n",
      "    (-inf, 10001] -2.70148843397\n",
      "    (49625.72, inf] 17.2405278474\n",
      "    (27585.522, 32647.454] 13.006367973\n",
      "    (32647.454, 49625.72] 15.2326500081\n",
      "woe#risk_score -0.921814548029\n",
      "    (2, inf] -51.0114848374\n",
      "    (-inf, 2] -3.80035305411\n",
      "    missing 4.33958428138\n",
      "woe#cust_housing_price -0.523826107992\n",
      "    (5833, inf] 4.2825408552\n",
      "    (-inf, 5833] -2.79888385203\n",
      "woe#l3m_org_numb_g26 -0.791379168017\n",
      "    (2, 3] -81.9532059062\n",
      "    (4, 5] -92.6447243589\n",
      "    (-inf, 0] 14.4298609083\n",
      "    (1, 2] -62.6113850558\n",
      "    (0, 1] -38.0647266275\n",
      "    (5, inf] -98.4245383016\n",
      "    (3, 4] -87.2172173609\n",
      "woe#lishi_xyk_sp_cnt_6m -0.823411240223\n",
      "    (4, 6] -25.6274619201\n",
      "    (2, 3] 0.554358652769\n",
      "    (-inf, 0] 29.0048101273\n",
      "    (1, 2] 12.3645521474\n",
      "    (6, inf] -59.223364918\n",
      "    (0, 1] 26.3121380555\n",
      "    (3, 4] -10.4942386687\n",
      "woe#loss_rate_g25 -1.04259759516\n",
      "    (-inf, 0] -7.15874816856\n",
      "    (0, inf] 17.642772455\n",
      "woe#xx_lufax_bal_g22 -0.870628402214\n",
      "    (-inf, 40000] 5.15300878794\n",
      "    (40000, 80000] -15.3909819565\n",
      "    (80000, inf] -24.1873941072\n",
      "    missing -5.57011693896\n",
      "woe#vehicle_quantity 0.173650963333\n",
      "    (-inf, 0] 0.817320696931\n",
      "    (1, inf] -3.47287100496\n",
      "    (0, 1] -1.93733168282\n",
      "woe#mob_card_g26 -0.992286208563\n",
      "    missing 4.04267414278\n",
      "    (60, 84] 8.95630651423\n",
      "    (96, 108] 22.4734036463\n",
      "    (-inf, 12] -35.0666194661\n",
      "    (120, inf] 36.7106983601\n",
      "    (36, 48] -1.06921600547\n",
      "    (84, 96] 14.3259826681\n",
      "    (24, 36] -13.1164059153\n",
      "    (48, 60] 1.87391127492\n",
      "    (12, 24] -28.418357374\n",
      "    (108, 120] 28.8388831679\n",
      "woe#6month_limit_usage_g26 -0.531462134684\n",
      "    (0.931, 0.976] 0.327257765512\n",
      "    (0.601, 0.753] 15.6532378431\n",
      "    (0.366, 0.601] 24.4793488517\n",
      "    (0.753, 0.858] 7.09860821688\n",
      "    (0.858, 0.931] 4.12720410371\n",
      "    (-inf, 0.366] 37.1671166494\n",
      "    (0.976, inf] -6.10008599077\n",
      "    missing -1.89347508358\n",
      "woe#mob_loan_g26 -0.300023891538\n",
      "    missing 3.59602637413\n",
      "    (36, inf] -0.140648365548\n",
      "    (18, 24] -5.71253641699\n",
      "    (12, 18] -6.07584209701\n",
      "    (-inf, 12] -11.5198350297\n",
      "    (30, 36] -0.990159861658\n",
      "    (24, 30] -2.82800168228\n",
      "woe#earlyst_djk_open_date -0.425285801749\n",
      "    (-inf, 94] -6.72477625449\n",
      "    (396, 551] 2.92689336896\n",
      "    (94, 396] -2.69446150975\n",
      "    (551, 791] 5.75349372855\n",
      "    (791, 1251] 11.4365675162\n",
      "    (1251, inf] 15.2938846699\n",
      "woe#sum_total_bal_g22 -0.187559892654\n",
      "    (-inf, inf] -2.39956906267\n",
      "    missing 2.16891138941\n",
      "woe#djk_6month_avg_use_percent -0.937975729458\n",
      "    (0, 0.0738] 46.7388488737\n",
      "    missing -13.044732172\n",
      "    (0.237, 0.36] 26.8977505761\n",
      "    (-inf, 0] 4.2103309039\n",
      "    (0.573, 0.68] -3.15553689434\n",
      "    (0.795, 0.927] -15.9604952007\n",
      "    (0.927, inf] -29.4770777204\n",
      "    (0.469, 0.573] 6.50243189773\n",
      "    (0.36, 0.469] 17.773396417\n",
      "    (0.0738, 0.237] 40.3560750469\n",
      "    (0.68, 0.795] -11.9278580619\n",
      "woe#insure_amt_sum -0.540382536199\n",
      "    (7657.498, 24164.438] 7.43081734718\n",
      "    (-inf, 0] 0.333232944867\n",
      "    (24164.438, inf] 17.4323573739\n",
      "    (0, 7657.498] 1.20738002305\n",
      "    missing -4.84486118893\n"
     ]
    }
   ],
   "source": [
    "B = 50.0 / np.log(2)\n",
    "A = 350.0 + B * np.log((1-0.037)/0.037)\n",
    "\n",
    "min_score = A\n",
    "max_score = A\n",
    "\n",
    "print \"intercept at:\", clf.intercept_[0]\n",
    "for var, coef in zip(data.columns, clf.coef_[0, :]):\n",
    "    print var, -coef\n",
    "    var = var.replace(\"woe#\", \"\")\n",
    "    min_score += min([-B * woe_mapper[var][val] * coef for val in woe_mapper[var]])\n",
    "    max_score += max([-B * woe_mapper[var][val] * coef for val in woe_mapper[var]])\n",
    "\n",
    "    for val in woe_mapper[var]:\n",
    "        print \"   \", val, -B * woe_mapper[var][val] * coef"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ks_2sampResult(statistic=0.35510149009196795, pvalue=0.0)"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2e39d710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "score = A - B * np.log((1-test_p)/test_p)\n",
    "sns.distplot(score[test_y==0, 0], color='blue')\n",
    "sns.distplot(score[test_y==1, 0], color='red')\n",
    "ks_2samp(score[test_y==0, 0], score[test_y==1, 0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(878.4219145070598, 883.87148018698213, 178.33088839201091, 286.32238203446866)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "max_score, score.max(), min_score, score.min()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "train_gbdt = train_X.iloc[:, :-K_woe]\n",
    "test_gbdt = test_X.iloc[:, :-K_woe]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "for var in train_gbdt:\n",
    "    if 'woe#{}'.format(var) in train_lr.columns:\n",
    "        del train_gbdt[var]\n",
    "        del test_gbdt[var]\n",
    "        continue\n",
    "\n",
    "    train_gbdt[var] = pd.to_numeric(train_gbdt[var], errors='coerce')\n",
    "    test_gbdt[var] = pd.to_numeric(test_gbdt[var], errors='coerce')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ks_2sampResult(statistic=0.17275286012333579, pvalue=1.0265438090517381e-184)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "imp = Imputer(missing_values=np.NaN, strategy='median', axis=0)\n",
    "train_gbdt = imp.fit_transform(train_gbdt)\n",
    "\n",
    "gbdt = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1,\n",
    "                                  loss='exponential', max_leaf_nodes=8,\n",
    "                                  random_state=2017)\n",
    "gbdt.fit(train_gbdt, train_y)\n",
    "test_e = gbdt.predict_proba(imp.transform(test_gbdt))\n",
    "ks_2samp(test_e[test_y==0, 0], test_e[test_y==1, 0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.0518515509199\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda2\\lib\\site-packages\\ipykernel\\__main__.py:10: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n"
     ]
    }
   ],
   "source": [
    "tree = gbdt.estimators_[0][0]\n",
    "y_test = float(flag.sum())\n",
    "n_test = float(flag.shape[0])\n",
    "tmp_df = pd.DataFrame({'tree_node': tree.apply(train_gbdt), 'flag': train_y})\n",
    "woe_tb = pd.DataFrame({'response': tmp_df.groupby('tree_node')['flag'].sum(),\n",
    "                       'total': tmp_df.groupby('tree_node')['flag'].count()\n",
    "                       })\n",
    "woe_tb['woe'] = np.log(woe_tb.response/woe_tb.total/(y_test/n_test))\n",
    "woe_tb['iv'] = (woe_tb.response / y_test - woe_tb.total / n_test) * woe_tb['woe']\n",
    "woe_tb['iv'][woe_tb['iv']==np.inf] = 0\n",
    "iv = woe_tb.iv.sum()\n",
    "print iv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda2\\lib\\site-packages\\ipykernel\\__main__.py:17: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(30192, 119) (30192L,) (198539, 119) (198539L,)\n"
     ]
    }
   ],
   "source": [
    "train_combine = train_X.iloc[:, -K_woe:]\n",
    "test_combine = test_X.iloc[:, -K_woe:]\n",
    "gbdt_woe_mapper = {}\n",
    "for tree, j in izip(gbdt.estimators_, count(0)):\n",
    "    tree = tree[0]\n",
    "    tmp_df = pd.DataFrame({'tree_node': tree.apply(train_gbdt), 'flag': train_y})\n",
    "    woe_tb = pd.DataFrame({'response': tmp_df.groupby('tree_node')['flag'].sum(),\n",
    "                           'total': tmp_df.groupby('tree_node')['flag'].count()\n",
    "                           })\n",
    "    woe_tb['woe'] = np.log((woe_tb.response+0.5)/(woe_tb.total+1.0)/(y_test/n_test))\n",
    "    \n",
    "    gbdt_woe_mapper[j] = {}\n",
    "    for val, w in izip(woe_tb.index, woe_tb.woe.values):\n",
    "        gbdt_woe_mapper[j][val] = w\n",
    "    \n",
    "    woe_tb['iv'] = (woe_tb.response / y_test - woe_tb.total / n_test) * woe_tb['woe']\n",
    "    woe_tb['iv'][woe_tb['iv']==np.inf] = 0\n",
    "    iv = woe_tb.iv.sum()\n",
    "    train_combine['tree_{}'.format(j)] = pd.Series(tree.apply(train_gbdt)).apply(lambda x: gbdt_woe_mapper[j][x]).values\n",
    "    test_combine['tree_{}'.format(j)] = pd.Series(tree.apply(imp.transform(test_gbdt))).apply(lambda x: gbdt_woe_mapper[j][x]).values\n",
    "    \n",
    "train_combine['flag'] = train_y\n",
    "black = train_combine[train_combine.flag==1]\n",
    "white = train_combine[train_combine.flag==0]\n",
    "white = white.sample(n=black.shape[0])\n",
    "train_combine_lr = pd.concat((black, white)).sample(frac=1.0)\n",
    "y_combine_lr = train_combine_lr['flag']\n",
    "del train_combine_lr['flag']\n",
    "\n",
    "print train_combine_lr.shape, y_combine_lr.shape, test_combine.shape, test_y.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.0001\n",
      "Ks_2sampResult(statistic=0.36999021320245146, pvalue=0.0)\n",
      "intercept at: 0.158119794644\n",
      "woe#max_cdt_amt_g24 -0.10578930094\n",
      "    (43000, 83000] 0.228986977574\n",
      "    (-1, 0] 0.244301285341\n",
      "    (-inf, -1] 2.69911415989\n",
      "    (10000, 15000] 0.147752104746\n",
      "    (25000, 43000] 0.674686097901\n",
      "    (0, 3000] -1.56584795487\n",
      "    (15000, 25000] 0.58335552238\n",
      "    (3000, 6000] -0.54265364766\n",
      "    (6000, 10000] 0.17104179039\n",
      "    (83000, inf] -0.864371187845\n",
      "woe#month_black_listed -0.0269161484671\n",
      "    (3, 6] -0.989537380656\n",
      "    (-inf, 3] -1.81204031689\n",
      "    (12, inf] 0.023660713878\n",
      "    (6, 12] -0.690615714015\n",
      "    missing 0.126711923838\n",
      "woe#all_6_amt_g23 -0.0320427761709\n",
      "    (261, 2508] 0.273076056606\n",
      "    (-inf, 0] -0.0755159357909\n",
      "    (7314.6, inf] 0.0847123525797\n",
      "    (0, 261] 0.667655441405\n",
      "    (2508, 7314.6] 0.0999673078842\n",
      "woe#aum_sum 0.0\n",
      "    (10492.445, 21291] -0.0\n",
      "    (42000, inf] -0.0\n",
      "    (-inf, 10492.445] -0.0\n",
      "    (21291, 42000] -0.0\n",
      "    missing 0.0\n",
      "woe#life_eff_payment_amt -0.160922727119\n",
      "    (14930.174, 27585.522] 2.78840894897\n",
      "    (10001, 14930.174] 1.11107172099\n",
      "    (-inf, 10001] -0.981867261466\n",
      "    (49625.72, inf] 6.26614189824\n",
      "    (27585.522, 32647.454] 4.72721879637\n",
      "    (32647.454, 49625.72] 5.53637030618\n",
      "woe#risk_score -0.0733304782056\n",
      "    (2, inf] -4.05797086312\n",
      "    (-inf, 2] -0.302318625155\n",
      "    missing 0.345214545863\n",
      "woe#cust_housing_price -0.164434819549\n",
      "    (5833, inf] 1.3443370271\n",
      "    (-inf, 5833] -0.878600654159\n",
      "woe#l3m_org_numb_g26 -0.164689993193\n",
      "    (2, 3] -17.0548751702\n",
      "    (4, 5] -19.2798340425\n",
      "    (-inf, 0] 3.00292677747\n",
      "    (1, 2] -13.0297447739\n",
      "    (0, 1] -7.92146144673\n",
      "    (5, inf] -20.4826424526\n",
      "    (3, 4] -18.1503424831\n",
      "woe#lishi_xyk_sp_cnt_6m -0.0214938335599\n",
      "    (4, 6] -0.668963907907\n",
      "    (2, 3] 0.0144706460552\n",
      "    (-inf, 0] 0.757124181526\n",
      "    (1, 2] 0.322756859412\n",
      "    (6, inf] -1.54593122637\n",
      "    (0, 1] 0.686836283432\n",
      "    (3, 4] -0.273935317209\n",
      "woe#loss_rate_g25 -0.125836936546\n",
      "    (-inf, 0] -0.864029365894\n",
      "    (0, inf] 2.12940490963\n",
      "woe#xx_lufax_bal_g22 0.160862926866\n",
      "    (-inf, 40000] -0.952103186258\n",
      "    (40000, 80000] 2.84373723458\n",
      "    (80000, inf] 4.46901915841\n",
      "    missing 1.02917078229\n",
      "woe#vehicle_quantity -0.199354756629\n",
      "    (-inf, 0] -0.938300401548\n",
      "    (1, inf] 3.98692492521\n",
      "    (0, 1] 2.22409526976\n",
      "woe#mob_card_g26 -0.0801271423964\n",
      "    missing 0.32644606355\n",
      "    (60, 84] 0.723222031324\n",
      "    (96, 108] 1.81472804777\n",
      "    (-inf, 12] -2.83163061934\n",
      "    (120, inf] 2.96439004149\n",
      "    (36, 48] -0.0863392259044\n",
      "    (84, 96] 1.1568235488\n",
      "    (24, 36] -1.05915018816\n",
      "    (48, 60] 0.151318394097\n",
      "    (12, 24] -2.29478324734\n",
      "    (108, 120] 2.32874071836\n",
      "woe#6month_limit_usage_g26 -0.0718615001473\n",
      "    (0.931, 0.976] 0.0442500649242\n",
      "    (0.601, 0.753] 2.11654806647\n",
      "    (0.366, 0.601] 3.30996813566\n",
      "    (0.753, 0.858] 0.959836274557\n",
      "    (0.858, 0.931] 0.558058719429\n",
      "    (-inf, 0.366] 5.02554102027\n",
      "    (0.976, inf] -0.824821378074\n",
      "    missing -0.256025690482\n",
      "woe#mob_loan_g26 -0.0693162189783\n",
      "    missing 0.830810340879\n",
      "    (36, inf] -0.032494788516\n",
      "    (18, 24] -1.31979964386\n",
      "    (12, 18] -1.40373621286\n",
      "    (-inf, 12] -2.66149273453\n",
      "    (30, 36] -0.228762241041\n",
      "    (24, 30] -0.653369246278\n",
      "woe#earlyst_djk_open_date 0.0726460709745\n",
      "    (-inf, 94] 1.14870651939\n",
      "    (396, 551] -0.499963324762\n",
      "    (94, 396] 0.46025999756\n",
      "    (551, 791] -0.982794892368\n",
      "    (791, 1251] -1.95356085736\n",
      "    (1251, inf] -2.61245643902\n",
      "woe#sum_total_bal_g22 -0.18052546242\n",
      "    (-inf, inf] -2.30957327026\n",
      "    missing 2.08756640868\n",
      "woe#djk_6month_avg_use_percent -0.0\n",
      "    (0, 0.0738] 0.0\n",
      "    missing -0.0\n",
      "    (0.237, 0.36] 0.0\n",
      "    (-inf, 0] 0.0\n",
      "    (0.573, 0.68] -0.0\n",
      "    (0.795, 0.927] -0.0\n",
      "    (0.927, inf] -0.0\n",
      "    (0.469, 0.573] 0.0\n",
      "    (0.36, 0.469] 0.0\n",
      "    (0.0738, 0.237] 0.0\n",
      "    (0.68, 0.795] -0.0\n",
      "woe#insure_amt_sum -0.00590568527253\n",
      "    (7657.498, 24164.438] 0.0812092649752\n",
      "    (-inf, 0] 0.00364180698486\n",
      "    (24164.438, inf] 0.19051321853\n",
      "    (0, 7657.498] 0.0131951089142\n",
      "    missing -0.0529480940894\n",
      "tree_0 -0.0\n",
      "    6 -0.0\n",
      "    8 -0.0\n",
      "    9 0.0\n",
      "    10 -0.0\n",
      "    11 0.0\n",
      "    12 -0.0\n",
      "    13 -0.0\n",
      "    14 0.0\n",
      "tree_1 -0.0249766672456\n",
      "    5 0.79502667749\n",
      "    8 -2.64023729429\n",
      "    9 -0.141226309046\n",
      "    10 -2.40118114827\n",
      "    11 0.700978569255\n",
      "    12 -2.07142666064\n",
      "    13 -0.964557649278\n",
      "    14 0.100805042093\n",
      "tree_2 -0.00580312889097\n",
      "    2 -0.612118490486\n",
      "    7 -0.229356479441\n",
      "    8 -0.0410064911072\n",
      "    9 0.138146495158\n",
      "    10 -0.0520066106084\n",
      "    12 0.0273590973603\n",
      "    13 -0.0190514134636\n",
      "    14 0.247870476386\n",
      "tree_3 0.0\n",
      "    3 0.0\n",
      "    8 0.0\n",
      "    9 -0.0\n",
      "    10 0.0\n",
      "    11 0.0\n",
      "    12 0.0\n",
      "    13 -0.0\n",
      "    14 -0.0\n",
      "tree_4 -0.0134561765709\n",
      "    3 0.388541566143\n",
      "    5 -0.453588904313\n",
      "    7 0.0154352507202\n",
      "    8 -0.257951632895\n",
      "    10 -1.07321369245\n",
      "    12 -1.17137251076\n",
      "    13 0.481121255773\n",
      "    14 -0.00196782937491\n",
      "tree_5 -0.0263694514103\n",
      "    2 -2.7814699786\n",
      "    7 0.535439985499\n",
      "    8 -0.125874736463\n",
      "    9 -1.03615574048\n",
      "    10 -0.275888168604\n",
      "    12 0.700905486852\n",
      "    13 -5.18888783538\n",
      "    14 -2.13335113541\n",
      "tree_6 0.000326520001568\n",
      "    5 0.011415997883\n",
      "    7 -0.000958014173448\n",
      "    8 0.0064110276845\n",
      "    9 -0.00970256886108\n",
      "    11 0.000942879088262\n",
      "    12 0.0729126399554\n",
      "    13 0.0670605203982\n",
      "    14 0.02662181099\n",
      "tree_7 0.00536390898411\n",
      "    4 0.55782205841\n",
      "    7 -0.016021673142\n",
      "    8 1.17500594716\n",
      "    9 0.0548376738513\n",
      "    10 0.179137922019\n",
      "    11 -0.20267887676\n",
      "    13 1.19777276318\n",
      "    14 0.232158944584\n",
      "tree_8 -0.0181247011143\n",
      "    6 0.621753658975\n",
      "    7 -0.0976781324174\n",
      "    8 -1.29176269693\n",
      "    10 -0.751832740748\n",
      "    11 -0.260640289661\n",
      "    12 -4.11107520169\n",
      "    13 -1.12960200994\n",
      "    14 0.657677759562\n",
      "tree_9 -0.037681884\n",
      "    4 -2.15855655669\n",
      "    8 -1.15655856427\n",
      "    9 -1.20654643947\n",
      "    10 -0.0962146065836\n",
      "    11 0.761041269734\n",
      "    12 -0.200696866072\n",
      "    13 1.4416252962\n",
      "    14 -1.02730514089\n",
      "tree_10 -0.0114154663615\n",
      "    6 -1.24857166916\n",
      "    8 -1.20034258015\n",
      "    9 0.0266765192286\n",
      "    10 -0.218958097682\n",
      "    11 0.319321366307\n",
      "    12 -0.942618384861\n",
      "    13 -0.428876285726\n",
      "    14 0.232622069828\n",
      "tree_11 -0.0303472847651\n",
      "    5 0.965977595824\n",
      "    8 -3.20795533805\n",
      "    9 -0.171593550684\n",
      "    10 -2.91749605192\n",
      "    11 0.851706756798\n",
      "    12 -2.51683597825\n",
      "    13 -1.17196203029\n",
      "    14 0.122480685196\n",
      "tree_12 0.00954963171012\n",
      "    2 1.00730248404\n",
      "    7 0.377429133515\n",
      "    8 0.0674803016021\n",
      "    9 -0.227333939257\n",
      "    10 0.0855821035743\n",
      "    12 -0.0450221438506\n",
      "    13 0.0313510152115\n",
      "    14 -0.407895775842\n",
      "tree_13 -0.0\n",
      "    3 -0.0\n",
      "    8 -0.0\n",
      "    9 0.0\n",
      "    10 -0.0\n",
      "    11 -0.0\n",
      "    12 -0.0\n",
      "    13 0.0\n",
      "    14 0.0\n",
      "tree_14 0.0106680413518\n",
      "    3 -0.308035308\n",
      "    5 0.359604763095\n",
      "    7 -0.0122370490675\n",
      "    8 0.204503758701\n",
      "    10 0.850842584448\n",
      "    12 0.928662783025\n",
      "    13 -0.381432379754\n",
      "    14 0.00156009287142\n",
      "tree_15 0.030503567946\n",
      "    2 3.21753976456\n",
      "    7 -0.619384519025\n",
      "    8 0.145608966855\n",
      "    9 1.19860085599\n",
      "    10 0.31914101532\n",
      "    12 -0.810791161685\n",
      "    13 6.00238473635\n",
      "    14 2.46781096425\n",
      "tree_16 -0.0\n",
      "    5 -0.0\n",
      "    7 0.0\n",
      "    8 -0.0\n",
      "    9 0.0\n",
      "    11 -0.0\n",
      "    12 -0.0\n",
      "    13 -0.0\n",
      "    14 -0.0\n",
      "tree_17 0.0243109155667\n",
      "    4 2.52822428632\n",
      "    7 -0.0726152408897\n",
      "    8 5.3254949807\n",
      "    9 0.248541513815\n",
      "    10 0.811909171071\n",
      "    11 -0.918604151314\n",
      "    13 5.42868132179\n",
      "    14 1.05221705226\n",
      "tree_18 -0.00897391999106\n",
      "    6 0.307843288262\n",
      "    7 -0.0483624937958\n",
      "    8 -0.639578827623\n",
      "    10 -0.372248172237\n",
      "    11 -0.12904847871\n",
      "    12 -2.03547963106\n",
      "    13 -0.559289667457\n",
      "    14 0.325630064573\n",
      "tree_19 0.0173788979764\n",
      "    4 0.995527032962\n",
      "    8 0.533405211166\n",
      "    9 0.556459636553\n",
      "    10 0.0443742099428\n",
      "    11 -0.350992497683\n",
      "    12 0.092561464274\n",
      "    13 -0.664878086849\n",
      "    14 0.473793487451\n",
      "tree_20 -0.0\n",
      "    6 -0.0\n",
      "    8 -0.0\n",
      "    9 0.0\n",
      "    10 -0.0\n",
      "    11 0.0\n",
      "    12 -0.0\n",
      "    13 -0.0\n",
      "    14 0.0\n",
      "tree_21 0.0\n",
      "    5 -0.0\n",
      "    8 0.0\n",
      "    9 0.0\n",
      "    10 0.0\n",
      "    11 -0.0\n",
      "    12 0.0\n",
      "    13 0.0\n",
      "    14 -0.0\n",
      "tree_22 -0.0200109844733\n",
      "    2 -2.1107740047\n",
      "    7 -0.790892126506\n",
      "    8 -0.141403072768\n",
      "    9 0.476371871379\n",
      "    10 -0.179334889324\n",
      "    12 0.0943426352867\n",
      "    13 -0.0656951699986\n",
      "    14 0.854734118015\n",
      "tree_23 -0.0238014749704\n",
      "    3 -0.847560595856\n",
      "    8 -0.376790883625\n",
      "    9 0.0913288638123\n",
      "    10 -2.93115624575\n",
      "    11 -0.402400684307\n",
      "    12 -3.75509144646\n",
      "    13 0.871156545036\n",
      "    14 0.0353130502862\n",
      "tree_24 -0.0049813969353\n",
      "    3 0.143835788467\n",
      "    5 -0.167915928119\n",
      "    7 0.00571403847356\n",
      "    8 -0.095492167986\n",
      "    10 -0.397297357857\n",
      "    12 -0.433635171511\n",
      "    13 0.178108241698\n",
      "    14 -0.000728478789329\n",
      "tree_25 -0.053989912077\n",
      "    2 -5.69489737398\n",
      "    7 1.09628210651\n",
      "    8 -0.257721173209\n",
      "    9 -2.12146837855\n",
      "    10 -0.564864916385\n",
      "    12 1.43506305917\n",
      "    13 -10.6239448691\n",
      "    14 -4.36791188554\n",
      "tree_26 0.00327582356788\n",
      "    5 0.114531406151\n",
      "    7 -0.00961131138269\n",
      "    8 0.0643188640279\n",
      "    9 -0.0973413683435\n",
      "    11 0.00945946810045\n",
      "    12 0.731498662304\n",
      "    13 0.672787064009\n",
      "    14 0.26708426878\n",
      "tree_27 -0.00561186822989\n",
      "    4 -0.583608688514\n",
      "    7 0.016762312478\n",
      "    8 -1.2293233469\n",
      "    9 -0.0573726736601\n",
      "    10 -0.187418991695\n",
      "    11 0.212048182162\n",
      "    13 -1.25314261227\n",
      "    14 -0.242891035112\n",
      "tree_28 -0.0133222137271\n",
      "    6 0.457008095098\n",
      "    7 -0.0717964367148\n",
      "    8 -0.949485380457\n",
      "    10 -0.552620227838\n",
      "    11 -0.191578643027\n",
      "    12 -3.02176693231\n",
      "    13 -0.830292279476\n",
      "    14 0.483413415823\n",
      "tree_29 0.00280797398609\n",
      "    4 0.160851051361\n",
      "    8 0.0861842884992\n",
      "    9 0.0899092788202\n",
      "    10 0.00716970819103\n",
      "    11 -0.0567111795087\n",
      "    12 0.0149555043219\n",
      "    13 -0.107426856083\n",
      "    14 0.0765525978313\n",
      "tree_30 -0.022235811025\n",
      "    6 -2.43205164007\n",
      "    8 -2.33810778571\n",
      "    9 0.0519623133726\n",
      "    10 -0.426501268389\n",
      "    11 0.621995574476\n",
      "    12 -1.83609531233\n",
      "    13 -0.83539399447\n",
      "    14 0.453116869791\n",
      "tree_31 -0.0077666793774\n",
      "    5 0.247219424426\n",
      "    8 -0.821001310678\n",
      "    9 -0.0439153651377\n",
      "    10 -0.746665034302\n",
      "    11 0.217974469704\n",
      "    12 -0.644125437906\n",
      "    13 -0.299936333751\n",
      "    14 0.0313460732716\n",
      "tree_32 0.0307747921228\n",
      "    2 3.24614869894\n",
      "    7 1.21630901354\n",
      "    8 0.217463072632\n",
      "    9 -0.732609899046\n",
      "    10 0.275798222055\n",
      "    12 -0.145089063116\n",
      "    13 0.101032270695\n",
      "    14 -1.31449129038\n",
      "tree_33 -0.00639680057475\n",
      "    3 -0.227787400295\n",
      "    8 -0.101264990675\n",
      "    9 0.0245452237415\n",
      "    10 -0.787767227906\n",
      "    11 -0.108147790499\n",
      "    12 -1.00920515022\n",
      "    13 0.234128964483\n",
      "    14 0.00949061100827\n",
      "tree_34 0.0223326651811\n",
      "    3 -0.644846525304\n",
      "    5 0.752802928567\n",
      "    7 -0.0256172534972\n",
      "    8 0.428111761168\n",
      "    10 1.78116881381\n",
      "    12 1.94407898465\n",
      "    13 -0.798497244747\n",
      "    14 0.00326592582461\n",
      "tree_35 -0.0\n",
      "    2 -0.0\n",
      "    7 0.0\n",
      "    8 -0.0\n",
      "    9 -0.0\n",
      "    10 -0.0\n",
      "    12 0.0\n",
      "    13 -0.0\n",
      "    14 -0.0\n",
      "tree_36 -0.0359966392287\n",
      "    5 -1.25853716543\n",
      "    7 0.105614634362\n",
      "    8 -0.70677278432\n",
      "    9 1.06964311285\n",
      "    11 -0.103946092777\n",
      "    12 -8.03812931241\n",
      "    13 -7.39297239885\n",
      "    14 -2.93487602971\n",
      "tree_37 -0.0432668328767\n",
      "    4 -4.49955318923\n",
      "    7 0.129235424444\n",
      "    8 -9.47793597833\n",
      "    9 -0.442336452185\n",
      "    10 -1.44497801078\n",
      "    11 1.63486612364\n",
      "    13 -9.66157966558\n",
      "    14 -1.8726608311\n",
      "tree_38 -0.0143959920585\n",
      "    6 0.493843218738\n",
      "    7 -0.0775832721159\n",
      "    8 -1.02601446552\n",
      "    10 -0.59716174611\n",
      "    11 -0.207019995332\n",
      "    12 -3.26532314008\n",
      "    13 -0.897214329872\n",
      "    14 0.522376823981\n",
      "tree_39 0.0\n",
      "    4 0.0\n",
      "    8 0.0\n",
      "    9 0.0\n",
      "    10 0.0\n",
      "    11 -0.0\n",
      "    12 0.0\n",
      "    13 -0.0\n",
      "    14 0.0\n",
      "tree_40 -0.0104791156716\n",
      "    6 -1.14615789939\n",
      "    8 -1.10188478899\n",
      "    9 0.0244883846056\n",
      "    10 -0.200998116081\n",
      "    11 0.293129113431\n",
      "    12 -0.865300354478\n",
      "    13 -0.393697818784\n",
      "    14 0.213541304429\n",
      "tree_41 -0.0\n",
      "    5 0.0\n",
      "    8 -0.0\n",
      "    9 -0.0\n",
      "    10 -0.0\n",
      "    11 0.0\n",
      "    12 -0.0\n",
      "    13 -0.0\n",
      "    14 0.0\n",
      "tree_42 0.0083112562152\n",
      "    2 0.876677686137\n",
      "    7 0.328484943393\n",
      "    8 0.0587296026819\n",
      "    9 -0.197853767865\n",
      "    10 0.0744840022981\n",
      "    12 -0.0391837700404\n",
      "    13 0.0272854836646\n",
      "    14 -0.355000737728\n",
      "tree_43 -0.0343198125703\n",
      "    3 -1.22211421048\n",
      "    8 -0.543302149142\n",
      "    9 0.131688876096\n",
      "    10 -4.22649155539\n",
      "    11 -0.580229421946\n",
      "    12 -5.41453984623\n",
      "    13 1.25613767139\n",
      "    14 0.0509185783072\n",
      "tree_44 -0.00472615060951\n",
      "    3 0.136465655751\n",
      "    5 -0.159311931238\n",
      "    7 0.00542125166199\n",
      "    8 -0.0905991579855\n",
      "    10 -0.376939877384\n",
      "    12 -0.411415744772\n",
      "    13 0.168981991596\n",
      "    14 -0.000691151602435\n",
      "tree_45 -0.0329656818355\n",
      "    2 -3.47724542779\n",
      "    7 0.669378514151\n",
      "    8 -0.15736188246\n",
      "    9 -1.2953466472\n",
      "    10 -0.344900674909\n",
      "    12 0.876234659448\n",
      "    13 -6.48687084157\n",
      "    14 -2.66700181506\n",
      "tree_46 0.0\n",
      "    5 0.0\n",
      "    7 -0.0\n",
      "    8 0.0\n",
      "    9 -0.0\n",
      "    11 0.0\n",
      "    12 0.0\n",
      "    13 0.0\n",
      "    14 0.0\n",
      "tree_47 0.0\n",
      "    4 0.0\n",
      "    7 -0.0\n",
      "    8 0.0\n",
      "    9 0.0\n",
      "    10 0.0\n",
      "    11 -0.0\n",
      "    13 0.0\n",
      "    14 0.0\n",
      "tree_48 -0.0282931298185\n",
      "    6 0.970573631951\n",
      "    7 -0.152478105073\n",
      "    8 -2.01647516549\n",
      "    10 -1.17363046164\n",
      "    11 -0.406866270777\n",
      "    12 -6.41749530886\n",
      "    13 -1.76333811571\n",
      "    14 1.02665208727\n",
      "tree_49 -0.0\n",
      "    4 -0.0\n",
      "    8 -0.0\n",
      "    9 -0.0\n",
      "    10 -0.0\n",
      "    11 0.0\n",
      "    12 -0.0\n",
      "    13 0.0\n",
      "    14 -0.0\n",
      "tree_50 -0.00596237040212\n",
      "    6 -0.652136893\n",
      "    8 -0.626946534257\n",
      "    9 0.0139333149994\n",
      "    10 -0.114363201606\n",
      "    11 0.166783572649\n",
      "    12 -0.492335554273\n",
      "    13 -0.224004801136\n",
      "    14 0.121499980824\n",
      "tree_51 -0.000246206716534\n",
      "    5 0.00783695061863\n",
      "    8 -0.0260260565874\n",
      "    9 -0.0013921339263\n",
      "    10 -0.0236695681016\n",
      "    11 0.0069098743319\n",
      "    12 -0.0204190235488\n",
      "    13 -0.00950809687303\n",
      "    14 0.000993682550988\n",
      "tree_52 0.0\n",
      "    2 0.0\n",
      "    7 0.0\n",
      "    8 0.0\n",
      "    9 -0.0\n",
      "    10 0.0\n",
      "    12 -0.0\n",
      "    13 0.0\n",
      "    14 -0.0\n",
      "tree_53 -0.0181264772175\n",
      "    3 -0.645476292974\n",
      "    8 -0.286952442077\n",
      "    9 0.0695532764776\n",
      "    10 -2.23227917495\n",
      "    11 -0.306456084989\n",
      "    12 -2.85976308772\n",
      "    13 0.66344624802\n",
      "    14 0.0268933417903\n",
      "tree_54 -0.0\n",
      "    3 0.0\n",
      "    5 -0.0\n",
      "    7 0.0\n",
      "    8 -0.0\n",
      "    10 -0.0\n",
      "    12 -0.0\n",
      "    13 0.0\n",
      "    14 -0.0\n",
      "tree_55 -0.0472225216425\n",
      "    2 -4.98106783562\n",
      "    7 0.958868120163\n",
      "    8 -0.225416993868\n",
      "    9 -1.85555194602\n",
      "    10 -0.494061662873\n",
      "    12 1.25518441803\n",
      "    13 -9.29228159868\n",
      "    14 -3.82041395536\n",
      "tree_56 -0.0685386391596\n",
      "    5 -2.39629105658\n",
      "    7 0.201093309532\n",
      "    8 -1.3457157632\n",
      "    9 2.03663133314\n",
      "    11 -0.197916358236\n",
      "    12 -15.3048300137\n",
      "    13 -14.0764326454\n",
      "    14 -5.58808859628\n",
      "tree_57 -0.0262307014084\n",
      "    4 -2.72787325373\n",
      "    7 0.0783495255969\n",
      "    8 -5.74603898843\n",
      "    9 -0.268168355016\n",
      "    10 -0.876024063293\n",
      "    11 0.991144539148\n",
      "    13 -5.85737375471\n",
      "    14 -1.13530859168\n",
      "tree_58 -0.0283111187011\n",
      "    6 0.971190726462\n",
      "    7 -0.152575051248\n",
      "    8 -2.01775724829\n",
      "    10 -1.17437666048\n",
      "    11 -0.407124957943\n",
      "    12 -6.42157557747\n",
      "    13 -1.76445925298\n",
      "    14 1.02730483668\n",
      "tree_59 -0.0398924297952\n",
      "    4 -2.28518472953\n",
      "    8 -1.22440617165\n",
      "    9 -1.2773265034\n",
      "    10 -0.101858878352\n",
      "    11 0.805686505063\n",
      "    12 -0.212470417877\n",
      "    13 1.52619587491\n",
      "    14 -1.08757030861\n",
      "tree_60 0.0103162967854\n",
      "    6 1.12834951189\n",
      "    8 1.08476429336\n",
      "    9 -0.0241078972027\n",
      "    10 0.197875115017\n",
      "    11 -0.28857463028\n",
      "    12 0.851855781066\n",
      "    13 0.387580752959\n",
      "    14 -0.210223414023\n",
      "tree_61 -0.0\n",
      "    5 0.0\n",
      "    8 -0.0\n",
      "    9 -0.0\n",
      "    10 -0.0\n",
      "    11 0.0\n",
      "    12 -0.0\n",
      "    13 -0.0\n",
      "    14 0.0\n",
      "tree_62 -0.0484000475462\n",
      "    2 -5.10527417193\n",
      "    7 -1.91291021078\n",
      "    8 -0.342007933407\n",
      "    9 1.15218825216\n",
      "    10 -0.433752631289\n",
      "    12 0.22818407758\n",
      "    13 -0.158895198571\n",
      "    14 2.06732317475\n",
      "tree_63 -0.000357618906964\n",
      "    3 -0.0127346601104\n",
      "    8 -0.00566131065925\n",
      "    9 0.00137222287658\n",
      "    10 -0.0440408375552\n",
      "    11 -0.00604609979265\n",
      "    12 -0.0564205243708\n",
      "    13 0.0130891909773\n",
      "    14 0.00053058117031\n",
      "tree_64 0.0\n",
      "    3 -0.0\n",
      "    5 0.0\n",
      "    7 -0.0\n",
      "    8 0.0\n",
      "    10 0.0\n",
      "    12 0.0\n",
      "    13 -0.0\n",
      "    14 0.0\n",
      "tree_65 -0.0166144533854\n",
      "    2 -1.75250529802\n",
      "    7 0.337361689531\n",
      "    8 -0.0793091941439\n",
      "    9 -0.652844876536\n",
      "    10 -0.173827321833\n",
      "    12 0.441615616408\n",
      "    13 -3.26933365894\n",
      "    14 -1.34414866819\n",
      "tree_66 -0.0170965737806\n",
      "    5 -0.597741177108\n",
      "    7 0.0501615825083\n",
      "    8 -0.335681144467\n",
      "    9 0.508026104369\n",
      "    11 -0.0493691100737\n",
      "    12 -3.81770281316\n",
      "    13 -3.51128607513\n",
      "    14 -1.39391692264\n",
      "tree_67 -0.0250053254386\n",
      "    4 -2.60043974436\n",
      "    7 0.0746894013625\n",
      "    8 -5.47761085957\n",
      "    9 -0.255640780821\n",
      "    10 -0.835100306837\n",
      "    11 0.944842891245\n",
      "    13 -5.58374458508\n",
      "    14 -1.08227227196\n",
      "tree_68 -0.0488435303466\n",
      "    6 1.67553900717\n",
      "    7 -0.263228882774\n",
      "    8 -3.48111950041\n",
      "    10 -2.02608390929\n",
      "    11 -0.702389066575\n",
      "    12 -11.0787717328\n",
      "    13 -3.04411916668\n",
      "    14 1.77234942551\n",
      "tree_69 -0.00974284447076\n",
      "    4 -0.558105874248\n",
      "    8 -0.299034151609\n",
      "    9 -0.311958773252\n",
      "    10 -0.0248767802523\n",
      "    11 0.196771125532\n",
      "    12 -0.051891204588\n",
      "    13 0.372739617954\n",
      "    14 -0.265615015737\n",
      "tree_70 -0.0\n",
      "    6 -0.0\n",
      "    8 -0.0\n",
      "    9 0.0\n",
      "    10 -0.0\n",
      "    11 0.0\n",
      "    12 -0.0\n",
      "    13 -0.0\n",
      "    14 0.0\n",
      "tree_71 -0.0309379971598\n",
      "    5 0.984780429202\n",
      "    8 -3.27039845264\n",
      "    9 -0.174933633266\n",
      "    10 -2.97428535261\n",
      "    11 0.868285298893\n",
      "    12 -2.56582639764\n",
      "    13 -1.19477436763\n",
      "    14 0.12486478181\n",
      "tree_72 -0.0629363582352\n",
      "    2 -6.63857538295\n",
      "    7 -2.48742735599\n",
      "    8 -0.444725468413\n",
      "    9 1.49823267267\n",
      "    10 -0.564024466344\n",
      "    12 0.296716131042\n",
      "    13 -0.206617258579\n",
      "    14 2.68821620041\n",
      "tree_73 -0.0967731373654\n",
      "    3 -3.4460510565\n",
      "    8 -1.53197379509\n",
      "    9 0.371329116961\n",
      "    10 -11.9176305822\n",
      "    11 -1.63609930673\n",
      "    12 -15.2676244148\n",
      "    13 3.54198855761\n",
      "    14 0.143577432507\n",
      "tree_74 -0.0113494631598\n",
      "    3 0.327711082548\n",
      "    5 -0.382574539809\n",
      "    7 0.0130186913414\n",
      "    8 -0.217566449067\n",
      "    10 -0.905190207699\n",
      "    12 -0.987981176323\n",
      "    13 0.405796396847\n",
      "    14 -0.00165974390108\n",
      "tree_75 -0.0\n",
      "    2 -0.0\n",
      "    7 0.0\n",
      "    8 -0.0\n",
      "    9 -0.0\n",
      "    10 -0.0\n",
      "    12 0.0\n",
      "    13 -0.0\n",
      "    14 -0.0\n",
      "tree_76 -0.0692524097061\n",
      "    5 -2.42124635184\n",
      "    7 0.203187522128\n",
      "    8 -1.35973022698\n",
      "    9 2.05784108399\n",
      "    11 -0.199977485637\n",
      "    12 -15.4642165586\n",
      "    13 -14.2230264959\n",
      "    14 -5.64628369762\n",
      "tree_77 -0.0146806221744\n",
      "    4 -1.52671771731\n",
      "    7 0.0438501344255\n",
      "    8 -3.21590437386\n",
      "    9 -0.150086657533\n",
      "    10 -0.490287243511\n",
      "    11 0.554717095548\n",
      "    13 -3.27821546547\n",
      "    14 -0.635401860833\n",
      "tree_78 -0.0\n",
      "    6 0.0\n",
      "    7 -0.0\n",
      "    8 -0.0\n",
      "    10 -0.0\n",
      "    11 -0.0\n",
      "    12 -0.0\n",
      "    13 -0.0\n",
      "    14 0.0\n",
      "tree_79 -0.0304076919726\n",
      "    4 -1.74186415098\n",
      "    8 -0.933294008615\n",
      "    9 -0.973632116747\n",
      "    10 -0.0776411317507\n",
      "    11 0.614128224282\n",
      "    12 -0.161953910886\n",
      "    13 1.16333084478\n",
      "    14 -0.828991944403\n",
      "tree_80 -0.0343957766178\n",
      "    6 -3.76205324108\n",
      "    8 -3.6167348704\n",
      "    9 0.0803786343254\n",
      "    10 -0.659739477829\n",
      "    11 0.962142591195\n",
      "    12 -2.84018982446\n",
      "    13 -1.29224093465\n",
      "    14 0.700910194711\n",
      "tree_81 -0.0157955882992\n",
      "    5 0.5027858185\n",
      "    8 -1.66972242144\n",
      "    9 -0.0893134625515\n",
      "    10 -1.51854002285\n",
      "    11 0.443308499793\n",
      "    12 -1.3099987441\n",
      "    13 -0.60999953953\n",
      "    14 0.0637504967225\n",
      "tree_82 -0.104651535033\n",
      "    2 -11.0387242563\n",
      "    7 -4.13613209258\n",
      "    8 -0.739496282318\n",
      "    9 2.49128410712\n",
      "    10 -0.937868473075\n",
      "    12 0.493384101865\n",
      "    13 -0.343566324473\n",
      "    14 4.47000684122\n",
      "tree_83 -0.031421335261\n",
      "    3 -1.11890064248\n",
      "    8 -0.497417605102\n",
      "    9 0.12056710151\n",
      "    10 -3.8695435142\n",
      "    11 -0.531226187729\n",
      "    12 -4.95725527184\n",
      "    13 1.15005065444\n",
      "    14 0.046618253428\n",
      "tree_84 -0.0522412600739\n",
      "    3 1.50844490628\n",
      "    5 -1.76097985873\n",
      "    7 0.0599246704983\n",
      "    8 -1.00145225276\n",
      "    10 -4.1665650957\n",
      "    12 -4.54764959836\n",
      "    13 1.86786941428\n",
      "    14 -0.00763975454795\n",
      "tree_85 -0.0664798336677\n",
      "    2 -7.01234389189\n",
      "    7 1.34989388369\n",
      "    8 -0.317341889781\n",
      "    9 -2.6122447604\n",
      "    10 -0.69553967105\n",
      "    12 1.76704776515\n",
      "    13 -13.0816676786\n",
      "    14 -5.37837615315\n",
      "tree_86 -0.0212465431425\n",
      "    5 -0.742835018901\n",
      "    7 0.0623376496679\n",
      "    8 -0.417163345683\n",
      "    9 0.631342787303\n",
      "    11 -0.0613528149293\n",
      "    12 -4.74440016847\n",
      "    13 -4.36360478059\n",
      "    14 -1.7322719987\n",
      "tree_87 -0.0\n",
      "    4 -0.0\n",
      "    7 0.0\n",
      "    8 -0.0\n",
      "    9 -0.0\n",
      "    10 -0.0\n",
      "    11 0.0\n",
      "    13 -0.0\n",
      "    14 -0.0\n",
      "tree_88 0.0131970921941\n",
      "    6 -0.452715899026\n",
      "    7 0.071122128345\n",
      "    8 0.940567863539\n",
      "    10 0.547430047628\n",
      "    11 0.189779346455\n",
      "    12 2.99338665569\n",
      "    13 0.822494217914\n",
      "    14 -0.478873222364\n",
      "tree_89 0.0229259425538\n",
      "    4 1.31328209645\n",
      "    8 0.703658957298\n",
      "    9 0.734071957752\n",
      "    10 0.0585376926315\n",
      "    11 -0.463023250933\n",
      "    12 0.122105487674\n",
      "    13 -0.877095707971\n",
      "    14 0.625020199232\n",
      "tree_90 0.0370962179167\n",
      "    6 4.05741519944\n",
      "    8 3.90068776147\n",
      "    9 -0.0866892283874\n",
      "    10 0.711536178111\n",
      "    11 -1.03768121379\n",
      "    12 3.06317551203\n",
      "    13 1.39369585532\n",
      "    14 -0.75593924254\n",
      "tree_91 -0.0\n",
      "    5 0.0\n",
      "    8 -0.0\n",
      "    9 -0.0\n",
      "    10 -0.0\n",
      "    11 0.0\n",
      "    12 -0.0\n",
      "    13 -0.0\n",
      "    14 0.0\n",
      "tree_92 -0.0177642712623\n",
      "    2 -1.87378897039\n",
      "    7 -0.702095506255\n",
      "    8 -0.125527184598\n",
      "    9 0.422887697314\n",
      "    10 -0.159200244496\n",
      "    12 0.0837504105341\n",
      "    13 -0.0583193106782\n",
      "    14 0.7587697022\n",
      "tree_93 -0.0570279363754\n",
      "    3 -2.03074102739\n",
      "    8 -0.902784662081\n",
      "    9 0.218822431853\n",
      "    10 -7.02300139369\n",
      "    11 -0.96414531665\n",
      "    12 -8.997136369\n",
      "    13 2.0872765274\n",
      "    14 0.084609478507\n",
      "tree_94 -0.101186504499\n",
      "    3 2.92171871581\n",
      "    5 -3.41085563682\n",
      "    7 0.116068562136\n",
      "    8 -1.93972068699\n",
      "    10 -8.07025246337\n",
      "    12 -8.80837801179\n",
      "    13 3.61789085148\n",
      "    14 -0.0147975002296\n",
      "tree_95 -0.0281008476771\n",
      "    2 -2.96409898602\n",
      "    7 0.570596530001\n",
      "    8 -0.134139567058\n",
      "    9 -1.10418886536\n",
      "    10 -0.294002756493\n",
      "    12 0.746926358671\n",
      "    13 -5.52958589873\n",
      "    14 -2.27342519816\n",
      "tree_96 -0.0367054358036\n",
      "    5 -1.28331855757\n",
      "    7 0.107694253257\n",
      "    8 -0.720689587096\n",
      "    9 1.09070506171\n",
      "    11 -0.105992857034\n",
      "    12 -8.19640515836\n",
      "    13 -7.53854469746\n",
      "    14 -2.99266559346\n",
      "tree_97 -0.0692191886762\n",
      "    4 -7.19847976974\n",
      "    7 0.206753548468\n",
      "    8 -15.163001198\n",
      "    9 -0.707659153824\n",
      "    10 -2.31170619412\n",
      "    11 2.6154931884\n",
      "    13 -15.456798229\n",
      "    14 -2.99592215968\n",
      "tree_98 -0.0537632445629\n",
      "    6 1.84430594549\n",
      "    7 -0.289742340494\n",
      "    8 -3.83175167162\n",
      "    10 -2.23015912132\n",
      "    11 -0.773136480852\n",
      "    12 -12.1946695888\n",
      "    13 -3.35073492999\n",
      "    14 1.95086749337\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183ef908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lasso = LassoCV(alphas=[8.0e-5, 1.0e-4, 2.0e-4])\n",
    "lasso.fit(train_combine_lr, y_combine_lr)\n",
    "print lasso.alpha_\n",
    "test_combine_p = lasso.predict(test_combine)\n",
    "print ks_2samp(test_combine_p[test_y==0], test_combine_p[test_y==1])\n",
    "\n",
    "sns.distplot(test_combine_p[test_y==0], color='blue')\n",
    "sns.distplot(test_combine_p[test_y==1], color='red')\n",
    "\n",
    "B = 50.0 / np.log(2)\n",
    "A = 350.0 + B * np.log((1-0.037)/0.037)\n",
    "\n",
    "min_score = A\n",
    "max_score = A\n",
    "\n",
    "print \"intercept at:\", lasso.coef_[0]\n",
    "for var, coef in zip(train_combine_lr.columns, lasso.coef_[1:]):\n",
    "    print var, -coef\n",
    "    var = var.replace(\"woe#\", \"\")\n",
    "    \n",
    "    if var in woe_mapper:\n",
    "        w = woe_mapper[var]\n",
    "    elif int(var[-1]) in gbdt_woe_mapper:\n",
    "        w = gbdt_woe_mapper[int(var[-1])]\n",
    "    else:\n",
    "        print var, \"is not Found in woe mapper.\"\n",
    "    \n",
    "    min_score += min([-B * w[val] * coef for val in w])\n",
    "    max_score += max([-B * w[val] * coef for val in w])\n",
    "\n",
    "    for val in w:\n",
    "        print \"   \", val, -B * w[val] * coef"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ks_2sampResult(statistic=0.3683578979935383, pvalue=0.0)\n",
      "intercept at: -0.0635493439209\n",
      "woe#max_cdt_amt_g24 -0.862702649098\n",
      "    (43000, 83000] 1.8673691045\n",
      "    (-1, 0] 1.99225596699\n",
      "    (-inf, -1] 22.0110437943\n",
      "    (10000, 15000] 1.20490570446\n",
      "    (25000, 43000] 5.50200709143\n",
      "    (0, 3000] -12.7693553766\n",
      "    (15000, 25000] 4.75721410437\n",
      "    (3000, 6000] -4.42529381723\n",
      "    (6000, 10000] 1.3948310875\n",
      "    (83000, inf] -7.04887268308\n",
      "woe#month_black_listed -0.561560559843\n",
      "    (3, 6] -20.6450475686\n",
      "    (-inf, 3] -37.8051999549\n",
      "    (12, inf] 0.493641345004\n",
      "    (6, 12] -14.4085453932\n",
      "    missing 2.64363302114\n",
      "woe#all_6_amt_g23 -0.321058083478\n",
      "    (261, 2508] 2.73613231606\n",
      "    (-inf, 0] -0.756644851487\n",
      "    (7314.6, inf] 0.848789924477\n",
      "    (0, 261] 6.68968803757\n",
      "    (2508, 7314.6] 1.00163956171\n",
      "woe#aum_sum -0.177562323565\n",
      "    (10492.445, 21291] 3.28057059231\n",
      "    (42000, inf] 5.32251854874\n",
      "    (-inf, 10492.445] 0.276740356667\n",
      "    (21291, 42000] 4.72814390337\n",
      "    missing -1.59195523991\n",
      "woe#life_eff_payment_amt 0.0274828501346\n",
      "    (14930.174, 27585.522] -0.476212568793\n",
      "    (10001, 14930.174] -0.189752051457\n",
      "    (-inf, 10001] 0.167686139068\n",
      "    (49625.72, inf] -1.07014988992\n",
      "    (27585.522, 32647.454] -0.807328138542\n",
      "    (32647.454, 49625.72] -0.945517380536\n",
      "woe#risk_score -0.815809467163\n",
      "    (2, inf] -45.1453628643\n",
      "    (-inf, 2] -3.36332726223\n",
      "    missing 3.84054899966\n",
      "woe#cust_housing_price -0.439913482711\n",
      "    (5833, inf] 3.59651310563\n",
      "    (-inf, 5833] -2.3505257265\n",
      "woe#l3m_org_numb_g26 -0.838719595937\n",
      "    (2, 3] -86.855659741\n",
      "    (4, 5] -98.186746531\n",
      "    (-inf, 0] 15.2930574869\n",
      "    (1, 2] -66.3568080857\n",
      "    (0, 1] -40.3417646392\n",
      "    (5, inf] -104.312309865\n",
      "    (3, 4] -92.4345651996\n",
      "woe#lishi_xyk_sp_cnt_6m -0.803084545486\n",
      "    (4, 6] -24.9948234888\n",
      "    (2, 3] 0.540673778724\n",
      "    (-inf, 0] 28.2887986223\n",
      "    (1, 2] 12.0593213408\n",
      "    (6, inf] -57.761379459\n",
      "    (0, 1] 25.6625977383\n",
      "    (3, 4] -10.2351783408\n",
      "woe#loss_rate_g25 -0.145201133184\n",
      "    (-inf, 0] -0.99698901194\n",
      "    (0, inf] 2.45708465554\n",
      "woe#xx_lufax_bal_g22 -0.638269061781\n",
      "    (-inf, 40000] 3.77773809821\n",
      "    (40000, 80000] -11.2833300502\n",
      "    (80000, inf] -17.7320947771\n",
      "    missing -4.08352553581\n",
      "woe#vehicle_quantity 0.963860934529\n",
      "    (-inf, 0] 4.53659153761\n",
      "    (1, inf] -19.2763957544\n",
      "    (0, 1] -10.7532851558\n",
      "woe#mob_card_g26 -1.00342742818\n",
      "    missing 4.08806459573\n",
      "    (60, 84] 9.05686638996\n",
      "    (96, 108] 22.7257311737\n",
      "    (-inf, 12] -35.4603414641\n",
      "    (120, inf] 37.1228797944\n",
      "    (36, 48] -1.08122097967\n",
      "    (84, 96] 14.4868323481\n",
      "    (24, 36] -13.2636746747\n",
      "    (48, 60] 1.8949512298\n",
      "    (12, 24] -28.7374338238\n",
      "    (108, 120] 29.1626812093\n",
      "woe#6month_limit_usage_g26 -0.43255452476\n",
      "    (0.931, 0.976] 0.266353551828\n",
      "    (0.601, 0.753] 12.7400964514\n",
      "    (0.366, 0.601] 19.9236265728\n",
      "    (0.753, 0.858] 5.7775237469\n",
      "    (0.858, 0.931] 3.35911195391\n",
      "    (-inf, 0.366] 30.250140941\n",
      "    (0.976, inf] -4.96483121662\n",
      "    missing -1.54109043988\n",
      "woe#mob_loan_g26 -0.392824399206\n",
      "    missing 4.70831470356\n",
      "    (36, inf] -0.184152366708\n",
      "    (18, 24] -7.47948329863\n",
      "    (12, 18] -7.95516320116\n",
      "    (-inf, 12] -15.083039725\n",
      "    (30, 36] -1.29642659716\n",
      "    (24, 30] -3.70273199278\n",
      "woe#earlyst_djk_open_date -0.33290155554\n",
      "    (-inf, 94] -5.26396241439\n",
      "    (396, 551] 2.29108837262\n",
      "    (94, 396] -2.10914736455\n",
      "    (551, 791] 4.50367024751\n",
      "    (791, 1251] 8.95221778044\n",
      "    (1251, inf] 11.9716152665\n",
      "woe#sum_total_bal_g22 0.412539184784\n",
      "    (-inf, inf] 5.2778675171\n",
      "    missing -4.77053448792\n",
      "woe#djk_6month_avg_use_percent -0.876040736797\n",
      "    (0, 0.0738] 43.6526599979\n",
      "    missing -12.1833821755\n",
      "    (0.237, 0.36] 25.1216790508\n",
      "    (-inf, 0] 3.93232071084\n",
      "    (0.573, 0.68] -2.94717526167\n",
      "    (0.795, 0.927] -14.9066159562\n",
      "    (0.927, inf] -27.5306919718\n",
      "    (0.469, 0.573] 6.07307316359\n",
      "    (0.36, 0.469] 16.5998104253\n",
      "    (0.0738, 0.237] 37.6913438248\n",
      "    (0.68, 0.795] -11.1402558049\n",
      "woe#insure_amt_sum -0.0114664383026\n",
      "    (7657.498, 24164.438] 0.157675355775\n",
      "    (-inf, 0] 0.00707090763815\n",
      "    (24164.438, inf] 0.369899167548\n",
      "    (0, 7657.498] 0.0256195335984\n",
      "    missing -0.102803658865\n",
      "tree_0 -0.0683827732076\n",
      "    6 -7.47939598628\n",
      "    8 -7.19048629554\n",
      "    9 0.159802000777\n",
      "    10 -1.31163821622\n",
      "    11 1.91285050308\n",
      "    12 -5.64662513049\n",
      "    13 -2.5691241034\n",
      "    14 1.39349035251\n",
      "tree_1 -0.0134011772756\n",
      "    5 0.426569859747\n",
      "    8 -1.41661366117\n",
      "    9 -0.0757746734141\n",
      "    10 -1.28834859841\n",
      "    11 0.376108548856\n",
      "    12 -1.11141953487\n",
      "    13 -0.517531339287\n",
      "    14 0.0540867292695\n",
      "tree_2 -0.129306066243\n",
      "    2 -13.6393031357\n",
      "    7 -5.11055064969\n",
      "    8 -0.913711922506\n",
      "    9 3.07819801865\n",
      "    10 -1.15881800366\n",
      "    12 0.609618935251\n",
      "    13 -0.424506051415\n",
      "    14 5.52308191692\n",
      "tree_3 -0.00723497153443\n",
      "    3 -0.25763431856\n",
      "    8 -0.114533713598\n",
      "    9 0.0277613774262\n",
      "    10 -0.89098814369\n",
      "    11 -0.122318364724\n",
      "    12 -1.14144101397\n",
      "    13 0.264806816098\n",
      "    14 0.010734163069\n",
      "tree_4 0.0327777820688\n",
      "    3 -0.946444981056\n",
      "    5 1.10489321956\n",
      "    7 -0.0375985913694\n",
      "    8 0.628342112097\n",
      "    10 2.61423178709\n",
      "    12 2.85333598863\n",
      "    13 -1.17195903215\n",
      "    14 0.00479341825366\n",
      "tree_5 -0.0304335711482\n",
      "    2 -3.21015644859\n",
      "    7 0.61796321208\n",
      "    8 -0.145274836715\n",
      "    9 -1.19585041637\n",
      "    10 -0.318408679707\n",
      "    12 0.808930632283\n",
      "    13 -5.98861101285\n",
      "    14 -2.46214805736\n",
      "tree_6 -0.154376217323\n",
      "    5 -5.39739851062\n",
      "    7 0.45294194392\n",
      "    8 -3.0310859927\n",
      "    9 4.58730207001\n",
      "    11 -0.445786188718\n",
      "    12 -34.4725514435\n",
      "    13 -31.7057130378\n",
      "    14 -12.5865933456\n",
      "tree_7 0.0142363274169\n",
      "    4 1.48051308987\n",
      "    7 -0.0425230527383\n",
      "    8 3.1185781545\n",
      "    9 0.145544430757\n",
      "    10 0.475449176745\n",
      "    11 -0.537929121949\n",
      "    13 3.1790034615\n",
      "    14 0.616172041255\n",
      "tree_8 0.101133760326\n",
      "    6 -3.46931434245\n",
      "    7 0.545032812993\n",
      "    8 7.20788818338\n",
      "    10 4.195140749\n",
      "    11 1.45434302169\n",
      "    12 22.9393296754\n",
      "    13 6.3030500871\n",
      "    14 -3.66976671713\n",
      "tree_9 -0.145002897066\n",
      "    4 -8.30629790699\n",
      "    8 -4.45052966156\n",
      "    9 -4.64288699492\n",
      "    10 -0.370241485132\n",
      "    11 2.92854754551\n",
      "    12 -0.77229755849\n",
      "    13 5.54748919753\n",
      "    14 -3.95315217253\n",
      "tree_10 -0.235052230639\n",
      "    6 -25.7089414182\n",
      "    8 -24.715871613\n",
      "    9 0.549287707727\n",
      "    10 -4.50849642464\n",
      "    11 6.57504451102\n",
      "    12 -19.4091548243\n",
      "    13 -8.83085495023\n",
      "    14 4.78984692147\n",
      "tree_11 -0.0666341745785\n",
      "    5 2.12101742404\n",
      "    8 -7.04377533906\n",
      "    9 -0.376771586037\n",
      "    10 -6.40600774536\n",
      "    11 1.87011052756\n",
      "    12 -5.52626995326\n",
      "    13 -2.57330180048\n",
      "    14 0.268933429235\n",
      "tree_12 -0.147304145206\n",
      "    2 -15.5377543218\n",
      "    7 -5.82188691417\n",
      "    8 -1.04089125607\n",
      "    9 3.50665162962\n",
      "    10 -1.32011359125\n",
      "    12 0.694471642108\n",
      "    13 -0.483592942351\n",
      "    14 6.29183830512\n",
      "tree_13 0.145103916767\n",
      "    3 5.16708995174\n",
      "    8 2.29707751659\n",
      "    9 -0.556779605867\n",
      "    10 17.8695754126\n",
      "    11 2.45320575617\n",
      "    12 22.8926349051\n",
      "    13 -5.31094089586\n",
      "    14 -0.215283377014\n",
      "tree_14 -0.0354754892315\n",
      "    3 1.02434016625\n",
      "    5 -1.19582915739\n",
      "    7 0.0406930652124\n",
      "    8 -0.680056502439\n",
      "    10 -2.82939069571\n",
      "    12 -3.08817387114\n",
      "    13 1.26841468216\n",
      "    14 -0.00518793057086\n",
      "tree_15 0.123175141304\n",
      "    2 12.9926084664\n",
      "    7 -2.50110989598\n",
      "    8 0.587977285124\n",
      "    9 4.8400183895\n",
      "    10 1.28870956104\n",
      "    12 -3.27402079932\n",
      "    13 24.2379707636\n",
      "    14 9.96516095336\n",
      "tree_16 0.188940102699\n",
      "    5 6.60584283374\n",
      "    7 -0.554352858781\n",
      "    8 3.7097275\n",
      "    9 -5.61437078358\n",
      "    11 0.545594974009\n",
      "    12 42.1907436454\n",
      "    13 38.8044271415\n",
      "    14 15.4046541661\n",
      "tree_17 -0.00570448266754\n",
      "    4 -0.593240167423\n",
      "    7 0.0170389462264\n",
      "    8 -1.2496112592\n",
      "    9 -0.0583195130529\n",
      "    10 -0.190512026636\n",
      "    11 0.215547680429\n",
      "    13 -1.27382362144\n",
      "    14 -0.246899542743\n",
      "tree_18 0.156958391171\n",
      "    6 -5.38433452791\n",
      "    7 0.845884432532\n",
      "    8 11.1865565896\n",
      "    10 6.51080846376\n",
      "    11 2.25712304339\n",
      "    12 35.6015663692\n",
      "    13 9.78225864398\n",
      "    14 -5.69543422532\n",
      "tree_19 -0.0615103572029\n",
      "    4 -3.52353891977\n",
      "    8 -1.88791861931\n",
      "    9 -1.96951677027\n",
      "    10 -0.157056765503\n",
      "    11 1.24229245936\n",
      "    12 -0.327609307474\n",
      "    13 2.35324982482\n",
      "    14 -1.67693064848\n",
      "tree_20 0.0861840835448\n",
      "    6 9.42642215737\n",
      "    8 9.06230388962\n",
      "    9 -0.20140143986\n",
      "    10 1.65308208932\n",
      "    11 -2.41080113943\n",
      "    12 7.11654688989\n",
      "    13 3.23791498908\n",
      "    14 -1.75624186218\n",
      "tree_21 -0.117101430869\n",
      "    5 3.72742930821\n",
      "    8 -12.3785756504\n",
      "    9 -0.662130087371\n",
      "    10 -11.2577769273\n",
      "    11 3.28649105426\n",
      "    12 -9.71174510656\n",
      "    13 -4.52226391035\n",
      "    14 0.472617685609\n",
      "tree_22 -0.00951690893879\n",
      "    2 -1.003850861\n",
      "    7 -0.376135834716\n",
      "    8 -0.0672490735773\n",
      "    9 0.226554956702\n",
      "    10 -0.0852888479086\n",
      "    12 0.0448678709569\n",
      "    13 -0.0312435878119\n",
      "    14 0.406498080035\n",
      "tree_23 -0.268035274667\n",
      "    3 -9.54462433061\n",
      "    8 -4.24315081776\n",
      "    9 1.02848067724\n",
      "    10 -33.0085959126\n",
      "    11 -4.53155016983\n",
      "    12 -42.2871678541\n",
      "    13 9.81034512007\n",
      "    14 0.397670444566\n",
      "tree_24 -0.149340672008\n",
      "    3 4.31215050466\n",
      "    5 -5.03406531779\n",
      "    7 0.171305028811\n",
      "    8 -2.8628243691\n",
      "    10 -11.9108465316\n",
      "    12 -13.0002424543\n",
      "    13 5.33962758857\n",
      "    14 -0.021839558934\n",
      "tree_25 -0.0573676933117\n",
      "    2 -6.05118833175\n",
      "    7 1.16486901442\n",
      "    8 -0.273845032449\n",
      "    9 -2.25419421202\n",
      "    10 -0.600204668597\n",
      "    12 1.52484518486\n",
      "    13 -11.2886127716\n",
      "    14 -4.64118239542\n",
      "tree_26 -0.268020033313\n",
      "    5 -9.37068515931\n",
      "    7 0.786374462358\n",
      "    8 -5.26241530479\n",
      "    9 7.96423746443\n",
      "    11 -0.773951008921\n",
      "    12 -59.8494674016\n",
      "    13 -55.0458251404\n",
      "    14 -21.8521947634\n",
      "tree_27 0.479786470517\n",
      "    4 49.8956036305\n",
      "    7 -1.43309329657\n",
      "    8 105.1009549\n",
      "    9 4.90507465105\n",
      "    10 16.0233798887\n",
      "    11 -18.1290516333\n",
      "    13 107.137382128\n",
      "    14 20.7659602261\n",
      "tree_28 -0.0278821971598\n",
      "    6 0.956476909331\n",
      "    7 -0.150263495607\n",
      "    8 -1.98718764918\n",
      "    10 -1.15658451836\n",
      "    11 -0.40095689845\n",
      "    12 -6.3242868718\n",
      "    13 -1.7377271909\n",
      "    14 1.01174087474\n",
      "tree_29 -0.0369755138548\n",
      "    4 -2.11809308335\n",
      "    8 -1.134878161\n",
      "    9 -1.18392898266\n",
      "    10 -0.0944110044702\n",
      "    11 0.746775081977\n",
      "    12 -0.196934679594\n",
      "    13 1.41460114131\n",
      "    14 -1.00804767272\n",
      "tree_30 0.0590065579677\n",
      "    6 6.45386830815\n",
      "    8 6.20457209487\n",
      "    9 -0.137890956741\n",
      "    10 1.13179464371\n",
      "    11 -1.65057248776\n",
      "    12 4.87239545072\n",
      "    13 2.21686198471\n",
      "    14 -1.20242373051\n",
      "tree_31 -0.119246605004\n",
      "    5 3.79571186365\n",
      "    8 -12.6053380403\n",
      "    9 -0.674259608995\n",
      "    10 -11.4640074721\n",
      "    11 3.34669608809\n",
      "    12 -9.88965398659\n",
      "    13 -4.60510699351\n",
      "    14 0.481275540836\n",
      "tree_32 -0.130448174598\n",
      "    2 -13.7597736018\n",
      "    7 -5.15569008333\n",
      "    8 -0.921782371566\n",
      "    9 3.10538650081\n",
      "    10 -1.16905337592\n",
      "    12 0.615003453545\n",
      "    13 -0.428255542233\n",
      "    14 5.57186507293\n",
      "tree_33 0.339967347319\n",
      "    3 12.1060954341\n",
      "    8 5.38187643241\n",
      "    9 -1.30449191079\n",
      "    10 41.8670445711\n",
      "    11 5.7476729225\n",
      "    12 53.6356876864\n",
      "    13 -12.4431271626\n",
      "    14 -0.504392439815\n",
      "tree_34 -0.113123802137\n",
      "    3 3.26640327724\n",
      "    5 -3.81324525526\n",
      "    7 0.129761544017\n",
      "    8 -2.16855578007\n",
      "    10 -9.02232612326\n",
      "    12 -9.84753071853\n",
      "    13 4.04470508061\n",
      "    14 -0.0165432089623\n",
      "tree_35 0.263934533655\n",
      "    2 27.8400172327\n",
      "    7 -5.35927352732\n",
      "    8 1.25989309942\n",
      "    9 10.3709886832\n",
      "    10 2.76139287042\n",
      "    12 -7.01543463799\n",
      "    13 51.9361085566\n",
      "    14 21.3529295049\n",
      "tree_36 -0.162444367132\n",
      "    5 -5.67948224423\n",
      "    7 0.476614006377\n",
      "    8 -3.18949935647\n",
      "    9 4.8270478091\n",
      "    11 -0.46908427061\n",
      "    12 -36.2741871758\n",
      "    13 -33.3627457532\n",
      "    14 -13.2444052965\n",
      "tree_37 -0.221014538688\n",
      "    4 -22.9845035169\n",
      "    7 0.660157118432\n",
      "    8 -48.4149522553\n",
      "    9 -2.25953184979\n",
      "    10 -7.38120003784\n",
      "    11 8.35118168143\n",
      "    13 -49.3530362823\n",
      "    14 -9.56587857689\n",
      "tree_38 -0.591388796083\n",
      "    6 20.2871289034\n",
      "    7 -3.18712859151\n",
      "    8 -42.1487770389\n",
      "    10 -24.5314643592\n",
      "    11 -8.50440214939\n",
      "    12 -134.139801744\n",
      "    13 -36.8576545622\n",
      "    14 21.4592922656\n",
      "tree_39 -0.0724465429994\n",
      "    4 -4.1500037631\n",
      "    8 -2.223579632\n",
      "    9 -2.31968546232\n",
      "    10 -0.184980550151\n",
      "    11 1.46316487446\n",
      "    12 -0.38585634778\n",
      "    13 2.77164403484\n",
      "    14 -1.9750792201\n",
      "tree_40 0.170012963072\n",
      "    6 18.5952428363\n",
      "    8 17.8769567786\n",
      "    9 -0.397299062067\n",
      "    10 3.26098941528\n",
      "    11 -4.75572087365\n",
      "    12 14.0386156448\n",
      "    13 6.3873455379\n",
      "    14 -3.46448985217\n",
      "tree_41 -0.0345946806955\n",
      "    5 1.10117550039\n",
      "    8 -3.65693970529\n",
      "    9 -0.195609727239\n",
      "    10 -3.32582783362\n",
      "    11 0.970911352555\n",
      "    12 -2.86909150867\n",
      "    13 -1.33598944811\n",
      "    14 0.139623041353\n",
      "tree_42 -0.20120365694\n",
      "    2 -21.2231161983\n",
      "    7 -7.95215189489\n",
      "    8 -1.42175990299\n",
      "    9 4.78975748108\n",
      "    10 -1.803151444\n",
      "    12 0.948583176923\n",
      "    13 -0.660542636703\n",
      "    14 8.59406145087\n",
      "tree_43 0.0606009115408\n",
      "    3 2.1579731827\n",
      "    8 0.959346890741\n",
      "    9 -0.232532328517\n",
      "    10 7.4630139763\n",
      "    11 1.02455197856\n",
      "    12 9.56083456411\n",
      "    13 -2.21805080523\n",
      "    14 -0.0899105219021\n",
      "tree_44 -0.233324594656\n",
      "    3 6.73715174216\n",
      "    5 -7.8650459647\n",
      "    7 0.267640930447\n",
      "    8 -4.47277574494\n",
      "    10 -18.6090862029\n",
      "    12 -20.31111994\n",
      "    13 8.34244567112\n",
      "    14 -0.0341213560058\n",
      "tree_45 -0.0411143838252\n",
      "    2 -4.33677676942\n",
      "    7 0.834840465076\n",
      "    8 -0.196259760899\n",
      "    9 -1.61554004875\n",
      "    10 -0.430155784446\n",
      "    12 1.09282884817\n",
      "    13 -8.09034373793\n",
      "    14 -3.32625112485\n",
      "tree_46 -0.2167513008\n",
      "    5 -7.57819545264\n",
      "    7 0.635951296346\n",
      "    8 -4.25578397467\n",
      "    9 6.44078283611\n",
      "    11 -0.625904287324\n",
      "    12 -48.4010458142\n",
      "    13 -44.5162775906\n",
      "    14 -17.6721552555\n",
      "tree_47 0.32318496994\n",
      "    4 33.6097621554\n",
      "    7 -0.965334044279\n",
      "    8 70.7961792114\n",
      "    9 3.30406649847\n",
      "    10 10.7933755241\n",
      "    11 -12.2117595372\n",
      "    13 72.1679200021\n",
      "    14 13.9879855808\n",
      "tree_48 0.121167691313\n",
      "    6 -4.15656263506\n",
      "    7 0.65300021899\n",
      "    8 8.6357232996\n",
      "    10 5.02617046623\n",
      "    11 1.74243878353\n",
      "    12 27.4834596092\n",
      "    13 7.55164274346\n",
      "    14 -4.39672330326\n",
      "tree_49 -0.218024448999\n",
      "    4 -12.4892402913\n",
      "    8 -6.69175786725\n",
      "    9 -6.98098382386\n",
      "    10 -0.556690227752\n",
      "    11 4.40332557416\n",
      "    12 -1.16121645195\n",
      "    13 8.34113179868\n",
      "    14 -5.94390761608\n",
      "tree_50 0.00989918180301\n",
      "    6 1.08272737668\n",
      "    8 1.04090442304\n",
      "    9 -0.0231331515816\n",
      "    10 0.189874504252\n",
      "    11 -0.276906799823\n",
      "    12 0.817413013809\n",
      "    13 0.37190984485\n",
      "    14 -0.201723529087\n",
      "tree_51 0.0112418528586\n",
      "    5 -0.357836889891\n",
      "    8 1.18835547122\n",
      "    9 0.0635651414357\n",
      "    10 1.08075768838\n",
      "    11 -0.315506382621\n",
      "    12 0.932337108766\n",
      "    13 0.434141795629\n",
      "    14 -0.0453717639536\n",
      "tree_52 0.00963562552484\n",
      "    2 1.01637317764\n",
      "    7 0.380827858405\n",
      "    8 0.0680879573452\n",
      "    9 -0.229381066648\n",
      "    10 0.0863527648712\n",
      "    12 -0.0454275653385\n",
      "    13 0.0316333290719\n",
      "    14 -0.411568850872\n",
      "tree_53 0.186583473892\n",
      "    3 6.64415967939\n",
      "    8 2.95372249345\n",
      "    9 -0.715941205234\n",
      "    10 22.9777908945\n",
      "    11 3.15448171459\n",
      "    12 29.4367474172\n",
      "    13 -6.82913200456\n",
      "    14 -0.276824507906\n",
      "tree_54 -0.115939572891\n",
      "    3 3.34770750009\n",
      "    5 -3.90816095173\n",
      "    7 0.132991445715\n",
      "    8 -2.22253342074\n",
      "    10 -9.24690133687\n",
      "    12 -10.0926461449\n",
      "    13 4.14538205626\n",
      "    14 -0.0169549868825\n",
      "tree_55 0.0233032401841\n",
      "    2 2.45804366454\n",
      "    7 -0.473179604389\n",
      "    8 0.111238158552\n",
      "    9 0.915672674145\n",
      "    10 0.243808191414\n",
      "    12 -0.619404956605\n",
      "    13 4.58552958251\n",
      "    14 1.88528737788\n",
      "tree_56 -0.317353071956\n",
      "    5 -11.0954979181\n",
      "    7 0.931118275944\n",
      "    8 -6.23104042723\n",
      "    9 9.43017278924\n",
      "    11 -0.916408102738\n",
      "    12 -70.8656442581\n",
      "    13 -65.1778208169\n",
      "    14 -25.874413384\n",
      "tree_57 -0.586377279018\n",
      "    4 -60.9805613323\n",
      "    7 1.75147362308\n",
      "    8 -128.450499844\n",
      "    9 -5.99480082079\n",
      "    10 -19.5831822638\n",
      "    11 22.1566563902\n",
      "    13 -130.939345883\n",
      "    14 -25.3793885444\n",
      "tree_58 -0.0700143703135\n",
      "    6 2.40178807081\n",
      "    7 -0.377323349581\n",
      "    8 -4.98998307612\n",
      "    10 -2.90427387424\n",
      "    11 -1.00683402412\n",
      "    12 -15.8807772742\n",
      "    13 -4.36356842148\n",
      "    14 2.54056019542\n",
      "tree_59 -0.240885701496\n",
      "    4 -13.798816704\n",
      "    8 -7.39343131237\n",
      "    9 -7.71298445317\n",
      "    10 -0.615062744767\n",
      "    11 4.8650423139\n",
      "    12 -1.28297739496\n",
      "    13 9.21575260856\n",
      "    14 -6.56716419786\n",
      "tree_60 -0.236430364505\n",
      "    6 -25.8596754178\n",
      "    8 -24.8607831488\n",
      "    9 0.552508234461\n",
      "    10 -4.53493017341\n",
      "    11 6.61359463025\n",
      "    12 -19.5229525684\n",
      "    13 -8.88263110333\n",
      "    14 4.81793025529\n",
      "tree_61 0.0490977677244\n",
      "    5 -1.56282000165\n",
      "    8 5.19003420824\n",
      "    9 0.277614961593\n",
      "    10 4.72011069863\n",
      "    11 -1.37794536936\n",
      "    12 4.07189734492\n",
      "    13 1.89607472267\n",
      "    14 -0.19815704367\n",
      "tree_62 0.305011405505\n",
      "    2 32.1728372102\n",
      "    7 12.0549350998\n",
      "    8 2.15529376005\n",
      "    9 -7.2609548134\n",
      "    10 2.73345805259\n",
      "    12 -1.43798921169\n",
      "    13 1.00133884782\n",
      "    14 -13.0280274325\n",
      "tree_63 -0.335203575762\n",
      "    3 -11.936459516\n",
      "    8 -5.30646321973\n",
      "    9 1.28621279808\n",
      "    10 -41.2803851826\n",
      "    11 -5.66713400899\n",
      "    12 -52.8841209097\n",
      "    13 12.2687686081\n",
      "    14 0.497324671758\n",
      "tree_64 0.0639404411909\n",
      "    3 -1.84625395106\n",
      "    5 2.15534290207\n",
      "    7 -0.0733445147469\n",
      "    8 1.22572271004\n",
      "    10 5.09964748349\n",
      "    12 5.56607404357\n",
      "    13 -2.28616986396\n",
      "    14 0.00935064115406\n",
      "tree_65 0.0869664052638\n",
      "    2 9.17328319141\n",
      "    7 -1.76588014854\n",
      "    8 0.415134663721\n",
      "    9 3.41723984474\n",
      "    10 0.909878704149\n",
      "    12 -2.31158508658\n",
      "    13 17.1129431303\n",
      "    14 7.03578836455\n",
      "tree_66 -0.193028891501\n",
      "    5 -6.74879764229\n",
      "    7 0.566349421338\n",
      "    8 -3.79000845701\n",
      "    9 5.73586948113\n",
      "    11 -0.557402010147\n",
      "    12 -43.1037792462\n",
      "    13 -39.6441806132\n",
      "    14 -15.7380210722\n",
      "tree_67 -0.0956557578084\n",
      "    4 -9.94776232735\n",
      "    7 0.285717988559\n",
      "    8 -20.9541371112\n",
      "    9 -0.977932187933\n",
      "    10 -3.19460560082\n",
      "    11 3.61441657673\n",
      "    13 -21.3601427026\n",
      "    14 -4.14014105048\n",
      "tree_68 -0.151738584809\n",
      "    6 5.20527316384\n",
      "    7 -0.817753710054\n",
      "    8 -10.8145365987\n",
      "    10 -6.29428509607\n",
      "    11 -2.18206018671\n",
      "    12 -34.4176011078\n",
      "    13 -9.45693996859\n",
      "    14 5.50602693347\n",
      "tree_69 -0.276984144162\n",
      "    4 -15.866667932\n",
      "    8 -8.50138979507\n",
      "    9 -8.86883025613\n",
      "    10 -0.707234289571\n",
      "    11 5.59410364856\n",
      "    12 -1.47524072004\n",
      "    13 10.5967989517\n",
      "    14 -7.55130065262\n",
      "tree_70 -0.156916631525\n",
      "    6 -17.162825796\n",
      "    8 -16.4998702977\n",
      "    9 0.366694570822\n",
      "    10 -3.00979093148\n",
      "    11 4.38938117709\n",
      "    12 -12.957201842\n",
      "    13 -5.89531955734\n",
      "    14 3.19761545082\n",
      "tree_71 -0.0626138004981\n",
      "    5 1.99304580093\n",
      "    8 -6.61878903165\n",
      "    9 -0.35403906585\n",
      "    10 -6.01950115679\n",
      "    11 1.75727737641\n",
      "    12 -5.19284235965\n",
      "    13 -2.41804159165\n",
      "    14 0.252707326111\n",
      "tree_72 -0.127596252134\n",
      "    2 -13.4589506308\n",
      "    7 -5.04297383863\n",
      "    8 -0.901629909787\n",
      "    9 3.03749500636\n",
      "    10 -1.14349495324\n",
      "    12 0.601557944091\n",
      "    13 -0.418892807912\n",
      "    14 5.45005020493\n",
      "tree_73 -0.537368364551\n",
      "    3 -19.1354633198\n",
      "    8 -8.5068467884\n",
      "    9 2.06194121348\n",
      "    10 -66.1770180201\n",
      "    11 -9.08504190976\n",
      "    12 -84.7790883476\n",
      "    13 19.6681915073\n",
      "    14 0.797266392238\n",
      "tree_74 -0.700152380532\n",
      "    3 20.2166121288\n",
      "    5 -23.6011581346\n",
      "    7 0.803127655088\n",
      "    8 -13.4217508875\n",
      "    10 -55.8415027944\n",
      "    12 -60.9489068145\n",
      "    13 25.0337226759\n",
      "    14 -0.102390185954\n",
      "tree_75 -0.0423827251661\n",
      "    2 -4.47056238777\n",
      "    7 0.860594534003\n",
      "    8 -0.202314195993\n",
      "    9 -1.66537798966\n",
      "    10 -0.443425699101\n",
      "    12 1.12654162403\n",
      "    13 -8.33992348279\n",
      "    14 -3.42886294629\n",
      "tree_76 -0.143641679742\n",
      "    5 -5.02209084888\n",
      "    7 0.421446663083\n",
      "    8 -2.82031967736\n",
      "    9 4.26832439767\n",
      "    11 -0.414788482731\n",
      "    12 -32.0755054126\n",
      "    13 -29.501058888\n",
      "    14 -11.711385612\n",
      "tree_77 -0.341469529256\n",
      "    4 -35.5112728903\n",
      "    7 1.01994892193\n",
      "    8 -74.8015540231\n",
      "    9 -3.49099783963\n",
      "    10 -11.4040230893\n",
      "    11 12.9026538001\n",
      "    13 -76.250902618\n",
      "    14 -14.7793718637\n",
      "tree_78 -0.164434564572\n",
      "    6 5.64079879387\n",
      "    7 -0.88617522965\n",
      "    8 -11.7193897577\n",
      "    10 -6.82092844327\n",
      "    11 -2.36463334044\n",
      "    12 -37.2973245987\n",
      "    13 -10.2482029068\n",
      "    14 5.96671665593\n",
      "tree_79 0.0218227767265\n",
      "    4 1.25008871074\n",
      "    8 0.669799825271\n",
      "    9 0.698749392642\n",
      "    10 0.0557209368114\n",
      "    11 -0.440743188664\n",
      "    12 0.116229934203\n",
      "    13 -0.834891030452\n",
      "    14 0.594945059528\n",
      "tree_80 -0.408898736162\n",
      "    6 -44.7234796512\n",
      "    8 -42.9959274935\n",
      "    9 0.95554527974\n",
      "    10 -7.84301635861\n",
      "    11 11.437999901\n",
      "    12 -33.7643206196\n",
      "    13 -15.3622257426\n",
      "    14 8.3324559281\n",
      "tree_81 -0.248178673454\n",
      "    5 7.89971953583\n",
      "    8 -26.2345085058\n",
      "    9 -1.40328402069\n",
      "    10 -23.8591460679\n",
      "    11 6.9652179663\n",
      "    12 -20.5825667508\n",
      "    13 -9.58425059332\n",
      "    14 1.00164130699\n",
      "tree_82 -0.164422926201\n",
      "    2 -17.3434564833\n",
      "    7 -6.4984707735\n",
      "    8 -1.16185723043\n",
      "    9 3.91417309609\n",
      "    10 -1.47352906659\n",
      "    12 0.775178861389\n",
      "    13 -0.539793137254\n",
      "    14 7.02303702223\n",
      "tree_83 -0.609773692055\n",
      "    3 -21.7137868312\n",
      "    8 -9.65306429649\n",
      "    9 2.33976837768\n",
      "    10 -75.0937481053\n",
      "    11 -10.3091657664\n",
      "    12 -96.2022722606\n",
      "    13 22.318295126\n",
      "    14 0.904690531891\n",
      "tree_84 -0.165374163681\n",
      "    3 4.77511098473\n",
      "    5 -5.57453191182\n",
      "    7 0.189696654588\n",
      "    8 -3.1701825058\n",
      "    10 -13.1896171178\n",
      "    12 -14.3959726082\n",
      "    13 5.91289991501\n",
      "    14 -0.024184294508\n",
      "tree_85 -0.241415510861\n",
      "    2 -25.4646934205\n",
      "    7 4.90201770312\n",
      "    8 -1.15239840734\n",
      "    9 -9.4861308841\n",
      "    10 -2.52578948753\n",
      "    12 6.41687434225\n",
      "    13 -47.5048945119\n",
      "    14 -19.5310871731\n",
      "tree_86 -0.464588012695\n",
      "    5 -16.2432186204\n",
      "    7 1.36310761619\n",
      "    8 -9.12191166535\n",
      "    9 13.8052712347\n",
      "    11 -1.34157270527\n",
      "    12 -103.743532814\n",
      "    13 -95.416861915\n",
      "    14 -37.8787645559\n",
      "tree_87 -0.485454747956\n",
      "    4 -50.4850786193\n",
      "    7 1.45002409996\n",
      "    8 -106.342635122\n",
      "    9 -4.96302402163\n",
      "    10 -16.212682773\n",
      "    11 18.343231275\n",
      "    13 -108.403121041\n",
      "    14 -21.0112927461\n",
      "tree_88 0.091485688263\n",
      "    6 -3.13834479602\n",
      "    7 0.493037160509\n",
      "    8 6.52026197044\n",
      "    10 3.79492799977\n",
      "    11 1.31559997257\n",
      "    12 20.7509377372\n",
      "    13 5.7017446352\n",
      "    14 -3.3196741899\n",
      "tree_89 0.217385583557\n",
      "    4 12.452643735\n",
      "    8 6.67214936522\n",
      "    9 6.9605278184\n",
      "    10 0.555058987997\n",
      "    11 -4.39042274351\n",
      "    12 1.15781380116\n",
      "    13 -8.31669022398\n",
      "    14 5.92649049985\n",
      "tree_90 0.149180088465\n",
      "    6 16.3166379859\n",
      "    8 15.6863685306\n",
      "    9 -0.348615235895\n",
      "    10 2.86139762914\n",
      "    11 -4.17296921264\n",
      "    12 12.3183661175\n",
      "    13 5.60465952236\n",
      "    14 -3.03996173761\n",
      "tree_91 0.430482137498\n",
      "    5 -13.7025800972\n",
      "    8 45.5054704766\n",
      "    9 2.43408789456\n",
      "    10 41.3852490032\n",
      "    11 -12.0816260178\n",
      "    12 35.7018079224\n",
      "    13 16.6245093678\n",
      "    14 -1.73741234425\n",
      "tree_92 -0.0198549208607\n",
      "    2 -2.09431229502\n",
      "    7 -0.784724040041\n",
      "    8 -0.140300284727\n",
      "    9 0.472656696081\n",
      "    10 -0.177936274941\n",
      "    12 0.0936068667637\n",
      "    13 -0.0651828201151\n",
      "    14 0.848068134415\n",
      "tree_93 -0.230444654478\n",
      "    3 -8.20603802512\n",
      "    8 -3.64806992404\n",
      "    9 0.884241354422\n",
      "    10 -28.3793037664\n",
      "    11 -3.8960226949\n",
      "    12 -36.3566019327\n",
      "    13 8.43449278948\n",
      "    14 0.341899133641\n",
      "tree_94 -0.89108384516\n",
      "    3 25.7296796708\n",
      "    5 -30.0371909396\n",
      "    7 1.02214046392\n",
      "    8 -17.081860638\n",
      "    10 -71.0694734648\n",
      "    12 -77.569665908\n",
      "    13 31.860415648\n",
      "    14 -0.130311976569\n",
      "tree_95 -0.68708570503\n",
      "    2 -72.4743276428\n",
      "    7 13.951490845\n",
      "    8 -3.279807786\n",
      "    9 -26.9982028216\n",
      "    10 -7.18857642828\n",
      "    12 18.2628805241\n",
      "    13 -135.202306685\n",
      "    14 -55.5868624699\n",
      "tree_96 -0.352197478849\n",
      "    5 -12.3137500112\n",
      "    7 1.03335224479\n",
      "    8 -6.91518980911\n",
      "    9 10.4655772229\n",
      "    11 -1.01702693909\n",
      "    12 -78.6464775366\n",
      "    13 -72.3341482946\n",
      "    14 -28.7153456697\n",
      "tree_97 -0.194657933163\n",
      "    4 -20.2435368095\n",
      "    7 0.581431524819\n",
      "    8 -42.6413329916\n",
      "    9 -1.9900763199\n",
      "    10 -6.50097116757\n",
      "    11 7.35527977129\n",
      "    13 -43.4675478593\n",
      "    14 -8.42512064462\n",
      "tree_98 -0.564986874532\n",
      "    6 19.3814316881\n",
      "    7 -3.0448426375\n",
      "    8 -40.2670898777\n",
      "    10 -23.4362833179\n",
      "    11 -8.12473219306\n",
      "    12 -128.151273476\n",
      "    13 -35.2121839162\n",
      "    14 20.5012650681\n",
      "tree_99 -0.379101330331\n",
      "    4 -21.7163149866\n",
      "    8 -11.6356414217\n",
      "    9 -12.1385480701\n",
      "    10 -0.967974036359\n",
      "    11 7.65651095876\n",
      "    12 -2.01912539514\n",
      "    13 14.503575979\n",
      "    14 -10.3352779698\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2a754be0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "combine_lr = LogisticRegression()\n",
    "combine_lr.fit(train_combine_lr, y_combine_lr)\n",
    "test_combine_p = combine_lr.predict_proba(test_combine)\n",
    "print ks_2samp(test_combine_p[test_y==0, 0], test_combine_p[test_y==1, 0])\n",
    "\n",
    "sns.distplot(test_combine_p[test_y==0, 0], color='blue')\n",
    "sns.distplot(test_combine_p[test_y==1, 0], color='red')\n",
    "\n",
    "B = 50.0 / np.log(2)\n",
    "A = 350.0 + B * np.log((1-0.037)/0.037)\n",
    "\n",
    "min_score = A\n",
    "max_score = A\n",
    "\n",
    "print \"intercept at:\", combine_lr.intercept_[0]\n",
    "for var, coef in zip(train_combine_lr.columns, combine_lr.coef_[0, :]):\n",
    "    print var, -coef\n",
    "    var = var.replace(\"woe#\", \"\")\n",
    "    \n",
    "    if var in woe_mapper:\n",
    "        w = woe_mapper[var]\n",
    "    elif int(var[-1]) in gbdt_woe_mapper:\n",
    "        w = gbdt_woe_mapper[int(var[-1])]\n",
    "    else:\n",
    "        print var, \"is not Found in woe mapper.\"\n",
    "    \n",
    "    min_score += min([-B * w[val] * coef for val in w])\n",
    "    max_score += max([-B * w[val] * coef for val in w])\n",
    "\n",
    "    for val in w:\n",
    "        print \"   \", val, -B * w[val] * coef"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "tree = gbdt.estimators_[36][0].tree"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
